services: # 单容器部署: Nginx + Backend + Frontend bttoxin: image: ghcr.io/prefix-dev/pixi:latest container_name: bttoxin-pipeline ports: - "8888:80" # 使用 8888 端口避免与 traefik 冲突 volumes: - ../../jobs:/app/jobs - ../../frontend/dist:/var/www/html - ../../backend:/app/backend - ../../web:/app/web - ../../Data:/app/Data - ../../scripts:/app/scripts - ../../pixi.toml:/app/pixi.toml - ../nginx/default.conf:/etc/nginx/sites-available/default:ro - ../scripts/entrypoint.sh:/app/entrypoint.sh:ro working_dir: /app environment: - JOBS_DIR=/app/jobs - API_BASE_URL=${API_BASE_URL:-http://your-domain.com} entrypoint: ["/bin/bash", "/app/entrypoint.sh"] healthcheck: test: ["CMD", "curl", "-f", "http://localhost/health"] interval: 30s timeout: 10s retries: 3 restart: unless-stopped