Add Dockerfile, docker-compose.yml, .dockerignore, .env.example, Makefile docker targets, and README/CHANGELOG docs.
20 lines
533 B
Docker
20 lines
533 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:1.25-alpine AS build
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /out/yDropbox ./cmd/ydropbox
|
|
|
|
FROM alpine:3.20
|
|
RUN adduser -D -u 10001 -s /sbin/nologin ydropbox \
|
|
&& apk add --no-cache ca-certificates tzdata
|
|
WORKDIR /app
|
|
COPY --from=build /out/yDropbox /app/yDropbox
|
|
USER ydropbox
|
|
VOLUME /app/workspace
|
|
EXPOSE 8999
|
|
ENTRYPOINT ["/app/yDropbox"]
|
|
CMD ["--addr", "0.0.0.0:8999", "--workspace", "/app/workspace"]
|