Diffstat (limited to 'Dockerfile')
| -rw-r--r-- | Dockerfile | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d0b6621 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,32 @@ +FROM golang:1.26.4-alpine3.24 AS build-stage + +ARG TARGETOS=linux +ARG TARGETARCH=amd64 +ENV GOOS=${TARGETOS} +ENV GOARCH=${TARGETARCH} + +RUN apk add --no-cache sqlite-dev musl-dev gcc + +WORKDIR /builddir +COPY . . +RUN go mod download +RUN CGO_ENABLED=1 go build -o sayana-web . + +FROM alpine:3.24 AS runtime-stage + +ENV ENVIRONMENT="" +ENV AUTH_SALT="" +ENV B2_KEY_ID="" +ENV B2_APPLICATION_KEY="" + +WORKDIR /app +COPY --from=build-stage /builddir/sayana-web /app/sayana-web +COPY --from=build-stage /builddir/migrations /app/migrations +COPY --from=build-stage /builddir/static /app/static +COPY --from=build-stage /builddir/views /app/views +COPY --from=build-stage /builddir/l10n/*.yaml /app/l10n/ +COPY --from=build-stage /builddir/config/config.*.yaml /app/config/ + +RUN apk add --no-cache tzdata sqlite + +ENTRYPOINT /app/sayana-web -c /app/config/config.${ENVIRONMENT}.yaml |