version: '3.8' services: db: image: postgres:15-alpine container_name: portiq-db restart: always environment: POSTGRES_DB: portiq_db POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine container_name: portiq-redis restart: always ports: - "6379:6379" volumes: - redis_data:/data backend: build: context: . dockerfile: Dockerfile.backend container_name: portiq-backend restart: always ports: - "8000:8000" environment: - DATABASE_URL=postgresql://postgres:postgres@db:5432/portiq_db - GEMINI_API_KEY=${GEMINI_API_KEY} - OWNER_PASSWORD_HASH=${OWNER_PASSWORD_HASH} - GUEST_PASSWORD_HASH=${GUEST_PASSWORD_HASH} depends_on: - db - redis frontend: build: context: . dockerfile: Dockerfile.frontend container_name: portiq-frontend restart: always ports: - "3000:80" depends_on: - backend volumes: postgres_data: redis_data: