diff --git a/Dockerfile b/Dockerfile index e9f6df5..a17e2d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,5 +36,5 @@ EXPOSE 5000 HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD python -c "import requests; requests.get('http://localhost:5000/health', timeout=2)" || exit 1 -# Run the application with Gunicorn using gevent workers for SocketIO compatibility -CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "4", "--worker-class", "gevent", "--worker-connections", "1000", "--timeout", "30", "wsgi:app"] \ No newline at end of file +# Run the application with Flask's built-in server +CMD ["python", "run.py"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index ebeb3c4..6ffabe7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,8 @@ services: markov-economics: build: . - # Remove direct port mapping since Caddy will handle external access - # ports: - # - "5000:5000" + ports: + - "5000:5000" environment: - FLASK_ENV=production - FLASK_APP=run.py diff --git a/run.py b/run.py index 60682e6..6e12466 100644 --- a/run.py +++ b/run.py @@ -15,11 +15,5 @@ if __name__ == '__main__': debug_mode = config_name == 'development' port = int(os.getenv('PORT', 5000)) # Use PORT env var or default to 5000 - # For production deployment with Gunicorn, SocketIO will be handled by Gunicorn - # For development, we use SocketIO's built-in server - if config_name == 'production': - # In production, Gunicorn will handle the server - # This is just a fallback - socketio.run(app, debug=False, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True) - else: - socketio.run(app, debug=debug_mode, host='0.0.0.0', port=port) \ No newline at end of file + # Run with SocketIO's built-in server for both development and production + socketio.run(app, debug=debug_mode, host='0.0.0.0', port=port, allow_unsafe_werkzeug=True) \ No newline at end of file