24 lines
689 B
Docker
24 lines
689 B
Docker
# Single-stage runtime image. Nothing is compiled here — the frontend bundle
|
|
# and the API binary are built in CI (see .github/workflows/release.yml) and
|
|
# copied in. Mirrors the floci-io/floci "native-package" approach.
|
|
#
|
|
# Expected build context layout:
|
|
# public/ frontend production bundle (arch-independent)
|
|
# native/${TARGETARCH}/server bun-compiled API binary, one per arch
|
|
FROM alpine:3
|
|
|
|
# Automatically set by Docker BuildKit to "amd64" or "arm64".
|
|
ARG TARGETARCH
|
|
|
|
RUN apk add --no-cache ca-certificates libstdc++
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --chmod=755 native/${TARGETARCH}/server ./server
|
|
COPY public/ ./public/
|
|
|
|
ENV PORT=4500
|
|
EXPOSE 4500
|
|
|
|
CMD ["./server"]
|