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.
2025-07-03 17:55:15 +03:00
|
|
|
FROM golang:1.24.4-alpine3.22@sha256:68932fa6d4d4059845c8f40ad7e654e626f3ebd3706eef7846f319293ab5cb7a AS base
|
2025-07-03 15:04:27 +03:00
|
|
|
|
|
|
|
|
# Set up workdir
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
# Install dependencies
|
2025-07-03 17:55:15 +03:00
|
|
|
COPY go.mod go.sum ./
|
2025-07-03 15:04:27 +03:00
|
|
|
RUN go mod download
|
|
|
|
|
|
2025-07-05 21:11:09 +03:00
|
|
|
# ---- Production mode ----
|
|
|
|
|
FROM base AS prod
|
|
|
|
|
|
2025-07-03 15:04:27 +03:00
|
|
|
# Copy code, and compile
|
|
|
|
|
COPY . .
|
|
|
|
|
RUN go build -o server main.go
|
|
|
|
|
|
|
|
|
|
# Expose 8080 port
|
|
|
|
|
EXPOSE 8080
|
|
|
|
|
|
|
|
|
|
# Run server binary on start
|
|
|
|
|
CMD ["./server"]
|
|
|
|
|
|
2025-07-05 21:11:09 +03:00
|
|
|
# ---- Development mode ----
|
|
|
|
|
FROM base AS dev
|
|
|
|
|
|
|
|
|
|
# Install air for hot reloading
|
|
|
|
|
RUN go install github.com/air-verse/air@latest
|
|
|
|
|
|
|
|
|
|
|