Files
dance-lessons-coach/Dockerfile
Gabriel Radureau 6c23298625 feat(deploy): Dockerfile + Helm chart for k3s homelab deployment
Pattern adapted from arcodange-org/webapp.

Degraded mode : no DB / no SMTP / no Vault yet, just serves the binary +
swagger + healthz. Subsequent PRs will add Vault auth + Postgres dynamic
credentials + SMTP config.

Ingress route : dancecoachlessons.arcodange.lab (homelab internal).
2026-05-06 06:50:46 +02:00

37 lines
668 B
Docker

# Build dance-lessons-coach Docker image
FROM golang:1.26-alpine AS builder
# Install git (required for go mod download)
RUN apk add --no-cache git
# Set working directory
WORKDIR /app
# Copy go module files and download dependencies
COPY go.mod go.sum ./
RUN go mod download
# Copy entire source code
COPY . .
# Build the server binary
RUN go build -o app ./cmd/server
# Final lightweight stage
FROM alpine:latest
# Install CA certificates for HTTPS
RUN apk --no-cache add ca-certificates
# Set working directory
WORKDIR /root/
# Copy binary from builder stage
COPY --from=builder /app/app .
# Expose port 8080
EXPOSE 8080
# Start the server
CMD ["./app"]