diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml new file mode 100644 index 0000000..eca7be3 --- /dev/null +++ b/docker-compose.prod.yaml @@ -0,0 +1,50 @@ +version: '3.8' + +services: + pit-router: + build: . + ports: + - "1999:1999" + environment: + - FLASK_ENV=production + - SECRET_KEY=${SECRET_KEY} + - JWT_SECRET_KEY=${JWT_SECRET_KEY} + - DATABASE_URL=sqlite:////app/data/pit.db + - REDIS_URL=redis://redis:6379/0 + volumes: + - pit-data:/app/data + - pit-logs:/app/logs + depends_on: + redis: + condition: service_healthy + restart: unless-stopped + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:1999/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + deploy: + resources: + limits: + cpus: '2.0' + memory: 2G + reservations: + cpus: '0.5' + memory: 512M + + redis: + image: redis:7-alpine + volumes: + - redis-data:/data + restart: unless-stopped + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + +volumes: + pit-data: + pit-logs: + redis-data: diff --git a/run.py b/run.py index 983e47a..b2587a6 100644 --- a/run.py +++ b/run.py @@ -1,8 +1,7 @@ """ PIT Router 启动入口 """ -from app import create_app -from app.extensions import socketio +from app import create_app, socketio_app as socketio app = create_app('development')