services: backend: build: ./backend container_name: orcid-backend restart: always ports: - "8000:8000" env_file: - ./backend/.env environment: DATABASE_URL: postgresql://postgres:postgres@db:5432/orcid_db REDIS_URL: redis://redis:6379/0 ORCID_REDIRECT_URI: https://jargon-supreme-palpable.ngrok-free.dev/callback depends_on: db: condition: service_healthy redis: condition: service_started frontend: build: ./frontend container_name: orcid-frontend restart: always ports: - "5173:5173" depends_on: - backend env_file: - ./frontend/.env db: image: postgres:16 container_name: orcid-postgres restart: always environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: orcid_db ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d orcid_db"] interval: 2s timeout: 3s retries: 20 redis: image: redis:7 container_name: orcid-redis restart: always ports: - "6379:6379" volumes: postgres_data: