build: add Docker Compose setup for Dokploy deployment

- Multi-stage Dockerfile for Go backend (golang:1.25-alpine -> alpine:3)
- Multi-stage Dockerfile for Next.js frontend (bun:1 -> node:22-alpine)
- docker-compose.yml with backend + frontend services, health checks
- Next.js standalone output + API rewrites to proxy /api/* to backend
- .dockerignore files for both services
- .env.example documenting required environment variables
This commit is contained in:
m
2026-03-24 19:20:49 +01:00
parent b2139b046e
commit b797b349e7
7 changed files with 110 additions and 1 deletions

33
docker-compose.yml Normal file
View File

@@ -0,0 +1,33 @@
services:
backend:
build:
context: ./backend
expose:
- "8080"
env_file:
- .env
environment:
- PORT=8080
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 5s
frontend:
build:
context: ./frontend
ports:
- "3000:3000"
depends_on:
backend:
condition: service_healthy
env_file:
- .env
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s