owpengram-server/Containerfile
Astra 4119711850 containerfile: stop copying .env.example, it's excluded from the build context
.containerignore excludes .env.* (to keep secrets out of the build), which
also matches .env.example, so COPY --from=build /src/.env.example failed:
that file was never actually present under /src in the build stage. Drop
it -- ReadEnvGroups now falls back to an empty list instead of crashing
when neither .env nor .env.example is present, and deploy hosts already
provide their own via a mounted .env.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-14 19:04:08 +01:00

32 lines
1.5 KiB
Docker

FROM docker.io/library/golang:1.25 AS build
# Build metadata for telesrv's startup log (git_commit/git_branch/... in
# cmd/telesrv/buildinfo.go). .containerignore excludes .git, so go build's
# automatic VCS stamping sees no repo; pass these in explicitly, e.g.:
# podman build \
# --build-arg GIT_COMMIT="$(git rev-parse HEAD)" \
# --build-arg GIT_BRANCH="$(git rev-parse --abbrev-ref HEAD)" \
# --build-arg GIT_TREE_STATE="$(git diff --quiet && echo clean || echo dirty)" \
# --build-arg BUILD_TIME="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
# -t owpengram-server -f Containerfile .
ARG GIT_COMMIT=unknown
ARG GIT_BRANCH=unknown
ARG GIT_TREE_STATE=unknown
ARG BUILD_TIME=unknown
WORKDIR /src
COPY . .
RUN CGO_ENABLED=0 go build -trimpath \
-ldflags "-X main.gitCommit=${GIT_COMMIT} -X main.gitBranch=${GIT_BRANCH} -X main.gitTreeState=${GIT_TREE_STATE} -X main.buildTime=${BUILD_TIME}" \
-o /out/gramsrv ./cmd/telesrv
RUN CGO_ENABLED=0 go build -trimpath -o /out/telesrv-admin ./cmd/telesrv-admin
RUN CGO_ENABLED=0 go build -trimpath -o /out/createuser ./cmd/createuser
FROM docker.io/library/alpine:3.20
RUN apk add --no-cache ca-certificates tzdata ffmpeg
WORKDIR /app
COPY --from=build /out/gramsrv /app/gramsrv
COPY --from=build /out/telesrv-admin /app/telesrv-admin
COPY --from=build /out/createuser /app/createuser
COPY --from=build /src/data/langpack /app/data/langpack
COPY --from=build /src/data/sticker-seed /app/data/sticker-seed
EXPOSE 2398 2600
ENTRYPOINT ["/app/gramsrv"]