x-common-build: &common-build
  build:
    context: .
    dockerfile: Dockerfile

services:
  redis:
    image: redis:8.4.0
    restart: unless-stopped
    command: ["redis-server", "--appendonly", "yes", "--appendfsync", "everysec"]
    volumes:
      - redis-data:/data
    networks:
      - community-forms-network

  backend:
    # image: registry.cn-hangzhou.aliyuncs.com/pingcap-ee/community-forms:v2025-12-05-11-25-57
    <<: *common-build
    restart: unless-stopped
    ports:
      - "8013:8013"
    env_file:
      - .env
    depends_on:
      - redis
    networks:
      - community-forms-network

  background-task:
    # image: registry.cn-hangzhou.aliyuncs.com/pingcap-ee/community-forms:v2025-12-04-12-46-54
    <<: *common-build
    command: uv run celery -A community_forms worker --concurrency=5 --loglevel=INFO
    restart: unless-stopped
    env_file:
      - .env
    depends_on:
      - redis
    networks:
      - community-forms-network

networks:
  community-forms-network:
    driver: bridge

volumes:
  redis-data: