From a82adb90c26c12beef925cade950d7d1729d6e50 Mon Sep 17 00:00:00 2001 From: Gabriel De Los Rios Date: Wed, 24 Dec 2025 17:05:14 -0300 Subject: [PATCH] build: add docker setup --- Dockerfile | 20 ++++++++++++++++++++ docker-compose.yml | 23 +++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7450eb8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.25.3-alpine AS builder + +WORKDIR /app +COPY . . + +# Build +RUN go mod download +RUN CGO_ENABLED=0 GOOS=linux go build -a -o main ./cmd/server +########### + +FROM alpine:3.22.2 + +RUN apk --no-cache add ca-certificates +WORKDIR /root/ + +# Copy the pre-built binary +COPY --from=builder /app/main . + +EXPOSE 8080 +CMD ["./main"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..7bc2935 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,23 @@ +services: + go-app: + build: . + container_name: agenda-web-go + environment: + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} + - DB_PASSWORD=${DB_PASSWORD} + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - ALLOWED_ORIGIN=${ALLOWED_ORIGIN} + networks: + - db-network + volumes: + #- ./cache:/root/.cache + - ./:/app + restart: unless-stopped + ports: + - 3005:8080 + +networks: + db-network: + external: true