services: postgres: image: postgres:16 environment: POSTGRES_DB: pricewatch POSTGRES_USER: pricewatch POSTGRES_PASSWORD: pricewatch TZ: Europe/Paris ports: - "5432:5432" volumes: - pricewatch_pgdata:/var/lib/postgresql/data redis: image: redis:7 environment: TZ: Europe/Paris ports: - "6379:6379" volumes: - pricewatch_redisdata:/data api: build: . ports: - "8001:8000" env_file: - .env environment: PW_DB_HOST: postgres PW_REDIS_HOST: redis TZ: Europe/Paris depends_on: - postgres - redis worker: build: . command: python -m pricewatch.app.cli.main worker env_file: - .env environment: PW_DB_HOST: postgres PW_REDIS_HOST: redis TZ: Europe/Paris depends_on: - postgres - redis frontend: build: ./webui ports: - "3000:80" environment: TZ: Europe/Paris VITE_API_TOKEN: ${API_TOKEN:-} env_file: - .env depends_on: - api analytics-ui: build: ./analytics-ui ports: - "8070:80" environment: TZ: Europe/Paris PW_DB_HOST: postgres PW_DB_PORT: 5432 PW_DB_NAME: pricewatch PW_DB_USER: pricewatch PW_DB_PASSWORD: pricewatch PW_REDIS_HOST: redis PW_REDIS_PORT: 6379 PW_REDIS_DB: 0 env_file: - .env depends_on: - postgres - redis adminer: image: adminer ports: - "8071:8080" environment: TZ: Europe/Paris depends_on: - postgres pgadmin: image: dpage/pgadmin4:latest ports: - "8072:80" environment: TZ: Europe/Paris PGADMIN_DEFAULT_EMAIL: admin@pricewatch.dev PGADMIN_DEFAULT_PASSWORD: pricewatch PGADMIN_CONFIG_SERVER_MODE: "False" PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: "False" volumes: - pricewatch_pgadmin:/var/lib/pgadmin - ./pgadmin-servers.json:/pgadmin4/servers.json:ro depends_on: - postgres volumes: pricewatch_pgdata: pricewatch_redisdata: pricewatch_pgadmin: