FreePad/Dockerfile

31 lines
581 B
Docker

FROM golang:1.18 as builder
# Go into the app dir
WORKDIR /app
# Copy all of the source to /app
COPY . ./
# Download dependencies
RUN go mod download
# Build
RUN CGO_ENABLED=0 go build -a -installsuffix cgo -o freepad .
FROM alpine
LABEL version="1.4.0"
# Copy the files from the builder to the new image
COPY --from=builder /app/freepad /app/freepad
COPY --from=builder /app/templates /app/templates
COPY --from=builder /app/static /app/static
# Make /app the work directory
WORKDIR /app
# Expose the listening port
EXPOSE 8080
# Run the program
ENTRYPOINT ["./freepad"]