version: '3.8' services: email_system: build: context: . dockerfile: Dockerfile container_name: email_system restart: unless-stopped ports: - "5000:5000" # API端口 - "25:25" # SMTP端口 volumes: - ./email_data:/app/email_data # 邮件数据持久化 - ./db:/app/db # 数据库持久化 - ./logs:/app/logs # 日志持久化 environment: - FLASK_ENV=production - MAIL_DOMAINS=example.com,test-domain.com # 可以在此处设置更多环境变量 networks: - email_network healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:5000/api/status"] interval: 30s timeout: 10s retries: 3 start_period: 5s # 如果需要添加数据库服务,可以在此处添加 # 例如: # db: # image: postgres:13-alpine # volumes: # - postgres_data:/var/lib/postgresql/data/ # environment: # - POSTGRES_PASSWORD=password # - POSTGRES_USER=user # - POSTGRES_DB=email_db # networks: # - email_network networks: email_network: driver: bridge # 如果使用外部数据库,添加卷定义 # volumes: # postgres_data: