Files
periodic-table/docker-compose.dev.yaml
2025-11-28 12:33:37 -03:00

46 lines
1.2 KiB
YAML

# Development docker-compose
# Use this for local development with hot reload
# Run: docker-compose -f docker-compose.dev.yaml up
services:
# ===========================================
# Keycloak Identity Provider
# ===========================================
keycloak:
image: quay.io/keycloak/keycloak:latest
container_name: keycloak
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
ports:
- "8081:8080"
command: start-dev
healthcheck:
test: ["CMD-SHELL", "exec 3<>/dev/tcp/localhost/8080 && echo -e 'GET /health/ready HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' >&3 && cat <&3 | grep -q '200 OK'"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
# ===========================================
# FastAPI Backend (with hot reload)
# ===========================================
fastapi-app:
build:
context: ./backend
dockerfile: Dockerfile
container_name: fastapi-app
ports:
- "8080:8080"
volumes:
- ./backend:/app
env_file:
- .env
depends_on:
keycloak:
condition: service_healthy
networks:
default:
name: keycloak-auth-network