Files
ark/asp/Dockerfile
Pietralberto Mazza 0210d39866 Monorepo scaffolding (#16)
* Change scaffolding

* Fix gh action
2023-11-27 14:23:22 +01:00

41 lines
936 B
Docker
Executable File

# first image used to build the sources
FROM golang:1.21 AS builder
ARG VERSION
ARG COMMIT
ARG DATE
ARG TARGETOS
ARG TARGETARCH
WORKDIR /app
COPY . .
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags="-X 'main.Version=${COMMIT}' -X 'main.Commit=${COMMIT}' -X 'main.Date=${COMMIT}'" -o bin/arkd cmd/arkd/main.go
# Second image, running the arkd executable
FROM debian:buster-slim
# $USER name, and data $DIR to be used in the 'final' image
ARG USER=ark
ARG DIR=/home/ark
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
COPY --from=builder /app/bin/* /usr/local/bin/
# NOTE: Default GID == UID == 1000
RUN adduser --disabled-password \
--home "$DIR/" \
--gecos "" \
"$USER"
USER $USER
# Prevents 'VOLUME $DIR/.arkd/' being created as owned by 'root'
RUN mkdir -p "$DIR/.arkd/"
# Expose volume containing all 'arkd' data
VOLUME $DIR/.arkd/
ENTRYPOINT [ "arkd" ]