services: postgres: image: postgres:18.3 container_name: ticket-postgres restart: unless-stopped environment: POSTGRES_DB: ticket POSTGRES_USER: ticket POSTGRES_PASSWORD: ticket_password TZ: Asia/Shanghai ports: - "5432:5432" volumes: - platform_a_postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ticket -d ticket"] interval: 10s timeout: 5s retries: 5 redis: image: redis:8 container_name: ticket-redis restart: unless-stopped command: - redis-server - --requirepass - ticket_password - --appendonly - yes ports: - "6379:6379" volumes: - platform_a_redis_data:/data healthcheck: test: ["CMD", "redis-cli", "-a", "ticket_password", "ping"] interval: 10s timeout: 5s retries: 5 server: image: docker.bbitcn.net/invoice/server:latest container_name: ticket-server restart: unless-stopped depends_on: postgres: condition: service_healthy redis: condition: service_healthy ports: - "8070:8070" environment: TZ: Asia/Shanghai DB_HOST: postgres DB_PORT: 5432 DB_NAME: ticket DB_USER: ticket DB_PASSWORD: ticket_password REDIS_HOST: redis REDIS_PORT: 6379 REDIS_PASSWORD: ticket_password volumes: platform_a_postgres_data: platform_a_redis_data: