terraria-companion/Containerfile
Felipe M. 3c7579de2d
Some checks failed
CI / goreleaser-lint (push) Failing after 3s
CI / format (push) Successful in 1m23s
CI / lint (push) Successful in 1m39s
Release / release (push) Failing after 42s
CI / build (push) Successful in 1m18s
fix: reference platform-specific binary path in Containerfile
goreleaser's dockers_v2 pipe stages built binaries under
<platform>/<binary> in the buildx context, so the flat COPY path
only worked for single-platform builds and broke multi-arch release
builds.

Claude-Session: https://claude.ai/code/session_01Gh3s4jbY5fQVQ4RnG6zhWy
2026-07-23 17:11:35 +02:00

26 lines
852 B
Docker

# Build dependencies on native arch (no QEMU needed)
FROM --platform=$BUILDPLATFORM alpine:3.24 AS base
RUN apk add --no-cache ca-certificates tzdata
RUN addgroup -g 1000 app && adduser -D -u 1000 -G app app
RUN mkdir /app && chown app:app /app
# Runtime image
FROM scratch
ARG TARGETPLATFORM
LABEL maintainer="Felipe Martin <me@fmartingr.com>"
LABEL org.opencontainers.image.source="https://git.nakama.town/fmartingr/terraria-companion"
COPY --from=base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=base /usr/share/zoneinfo /usr/share/zoneinfo
COPY --from=base /etc/passwd /etc/passwd
COPY --from=base /etc/group /etc/group
COPY --from=base /app /app
COPY $TARGETPLATFORM/terraria-companion /usr/local/bin/terraria-companion
WORKDIR /app
USER app
EXPOSE 3000
ENTRYPOINT ["/usr/local/bin/terraria-companion"]