Files
ente/server/Dockerfile
Manav Rathi 5a411d1d4d [server] Copy only libsodium lib to Docker image
Suggested twice:
- https://github.com/ente-io/ente/pull/3952
- https://github.com/ente-io/ente/issues/5631

Fixes: https://github.com/ente-io/ente/issues/5631

Tested:

Theory: On a clean alpine container, ran `apk add libsodium` then visually glanced using
`docker container diff` that the .so is the only relevant file.

Practice: Recreated the local Docker compose using this updated file and
verified that server runs and can upload files etc.
2025-04-16 06:36:06 +05:30

27 lines
572 B
Docker

FROM golang:1.23.4-alpine3.21 AS builder
RUN apk add --no-cache gcc musl-dev git build-base pkgconfig libsodium-dev
ENV GOOS=linux
WORKDIR /etc/ente/
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN --mount=type=cache,target=/root/.cache/go-build \
go build -o museum cmd/museum/main.go
FROM alpine:3.21
COPY --from=builder /usr/lib/libsodium.so* /usr/lib
COPY --from=builder /etc/ente/museum .
COPY configurations configurations
COPY migrations migrations
COPY mail-templates mail-templates
ARG GIT_COMMIT
ENV GIT_COMMIT=$GIT_COMMIT
CMD ["./museum"]