version: '3.8' services: backend: build: context: ./backend dockerfile: Dockerfile container_name: markedit-backend ports: - "8080:8080" environment: # Server - PORT=8080 # GitHub OAuth (set these in .env file) - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID} - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET} # Session - SESSION_SECRET=${SESSION_SECRET} # Database - DATABASE_PATH=/app/data/markedit.db # Git - GIT_CACHE_DIR=/app/data/repos # CORS - CORS_ALLOWED_ORIGINS=http://localhost:4321,http://localhost:3000 volumes: - markedit-data:/app/data restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/health"] interval: 30s timeout: 3s retries: 3 start_period: 10s frontend: build: context: ./frontend dockerfile: Dockerfile container_name: markedit-frontend ports: - "3000:80" environment: - PUBLIC_API_URL=http://localhost:8080 depends_on: - backend restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost/"] interval: 30s timeout: 3s retries: 3 start_period: 5s volumes: markedit-data: driver: local