services: db: image: postgres:16-alpine environment: POSTGRES_USER: homehub POSTGRES_PASSWORD: homehub POSTGRES_DB: homehub volumes: - db_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U homehub"] interval: 5s timeout: 5s retries: 10 redis: image: redis:7-alpine volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 10 backend: build: ./backend user: "1000:1000" environment: DATABASE_URL: postgresql+asyncpg://homehub:homehub@db:5432/homehub UPLOAD_DIR: /data/uploads DATA_DIR: /data REDIS_URL: redis://redis:6379 CORS_ORIGINS: http://localhost:3001,http://localhost:3000,http://10.0.1.45:3001 MCP_API_KEY: ${MCP_API_KEY} volumes: - ./backend/app:/app/app - ./data:/data ports: - "8000:8000" depends_on: db: condition: service_healthy redis: condition: service_healthy backend-worker: build: ./backend user: "1000:1000" command: arq app.workers.notes_worker.WorkerSettings environment: DATABASE_URL: postgresql+asyncpg://homehub:homehub@db:5432/homehub UPLOAD_DIR: /data/uploads DATA_DIR: /data REDIS_URL: redis://redis:6379 volumes: - ./backend/app:/app/app - ./data:/data depends_on: db: condition: service_healthy redis: condition: service_healthy frontend: build: ./frontend ports: - "3001:80" depends_on: - backend volumes: db_data: redis_data: