Add initial project skeleton using djinit to enable rapid development, CI integration, and deployment setup. New Features - Create .djinit with unified project structure and Tailwind/HTMX enabled. - Add .env.sample with default Django, database, and frontend URLs. - Generate comprehensive .gitignore covering Python, Django, OS, and secret files. - Provide Procfile for Gunicorn web process and release migrations. - Scaffold README.md with project overview and features. - Add manage.py enhanced with environ for .env support. - Initialize pyproject.toml with modern metadata and ruff linting config. - Add requirements.txt mirroring dependencies. - Include runtime.txt pinning Python 3.13. - Update uv.lock to lock dependency versions. Enhancements - Upgrade to latest Django 6.0.5 and DRF ecosystem. - Configure ruff with line-length 88 and isort settings. - Use gunicorn with optimal worker configuration. - Include dj-database-url and psycopg binary for robust PostgreSQL connectivity. Bug Fixes - None.
20 lines
1019 B
Plaintext
20 lines
1019 B
Plaintext
# Procfile for .
|
|
# Used for deploying to PaaS platforms like Heroku, Railway, Render, etc.
|
|
|
|
# Web server process (using Gunicorn)
|
|
# Adjust workers based on your needs: (2 x CPU cores) + 1
|
|
web: gunicorn core.wsgi:application --bind 0.0.0.0:$PORT --workers 2 --timeout 120 --access-logfile - --error-logfile - --log-level info
|
|
|
|
# Alternative web server configurations (uncomment to use):
|
|
# web: gunicorn core.wsgi:application --bind 0.0.0.0:$PORT --workers 4 --threads 2 --timeout 120
|
|
# web: gunicorn core.wsgi:application --bind 0.0.0.0:$PORT --workers 2 --worker-class gevent --worker-connections 1000 --timeout 120
|
|
|
|
# Release task (runs migrations before deployment)
|
|
release: python manage.py migrate --noinput && python manage.py collectstatic --noinput
|
|
|
|
# Uncomment below to run scheduled tasks (if using Celery)
|
|
# worker: celery -A core worker --loglevel=info
|
|
# beat: celery -A core beat --loglevel=info
|
|
|
|
# Development server (for local testing with Foreman/Overmind)
|
|
# web: python manage.py runserver 0.0.0.0:$PORT |