maot-shortner/Dockerfile

30 lines
505 B
Docker

FROM golang:1.24-alpine AS builder
RUN apk add --no-cache git build-base sqlite-dev
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN go build -o maot-shortner ./cmd/maot-shortner
FROM alpine:latest
RUN apk add --no-cache ca-certificates sqlite-libs
WORKDIR /app
COPY --from=builder /app/maot-shortner .
COPY --from=builder /app/web/static ./web/static
RUN mkdir -p /app/data
EXPOSE 3032
ENV DATABASE_PATH=/app/data/shortener.db
VOLUME ["/app/data"]
CMD ["./maot-shortner"]