This repository has been archived on 2026-01-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
cover-letter-templater/Dockerfile.backend
2025-07-13 20:44:13 +03:00

43 lines
819 B
Docker

FROM golang:1.24.4-alpine3.22@sha256:68932fa6d4d4059845c8f40ad7e654e626f3ebd3706eef7846f319293ab5cb7a AS base
# Set up workdir
WORKDIR /app
# Install dependencies
COPY go.mod go.sum ./
RUN go mod download
# ---- Build mode ----
FROM base AS build
WORKDIR /app
# Copy code, and compile
COPY . .
RUN go build -o server main.go
# ---- Production mode ----
FROM alpine@sha256:8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be023728e11715 AS prod
WORKDIR /app
# Copy built binary
COPY --from=build /app/server .
# Expose 8080 port
EXPOSE 8080
# Run server binary on start
CMD ["./server"]
# ---- Development mode ----
FROM base AS dev
# Install air for hot reloading
RUN go install github.com/air-verse/air@latest
# Copy code, and expose port
COPY . .
EXPOSE 8080
# Enable hot reloading for go
CMD [ "air" ]