Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davish/django-flyio-template
Starter template for hosting a Django app on Fly.io
https://github.com/davish/django-flyio-template
daphne django docker flyio poetry
Last synced: 2 months ago
JSON representation
Starter template for hosting a Django app on Fly.io
- Host: GitHub
- URL: https://github.com/davish/django-flyio-template
- Owner: davish
- Created: 2022-10-01T19:40:08.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-10-01T20:24:15.000Z (about 2 years ago)
- Last Synced: 2024-04-15T14:22:25.669Z (8 months ago)
- Topics: daphne, django, docker, flyio, poetry
- Language: Python
- Homepage:
- Size: 8.79 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Django starter template for Fly.io
This template contains a starter Django project, Dockerfile and fly.toml config for hosting a [Django](https://www.djangoproject.com) app on [Fly.io](https://fly.io). The repository is set up as a [custom Django project template](https://docs.djangoproject.com/en/4.1/ref/django-admin/#startproject). All you'll need installed to get started is [Poetry](https://python-poetry.org) and [Docker](https://www.docker.com) for local builds.
You just need to run a few commands:
```bash
# Set up the poetry environment
$ poetry init
$ poetry add django dj-database-url daphne psycopg2-binary
# Start a django project with this template.
$ poetry run django-admin startproject \
--template https://github.com/davish/django-flyio-template/archive/refs/heads/main.zip \
--extension=py,toml \
--name=Dockerfile \
.# Launch a new Fly app.
$ flyctl launch --copy-config --no-deploy
# If you haven't already, configure a Postgres database in your Fly.io account.
$ flyctl postgres create
# Make a note of the db app name you choose.
$ flyctl postgres attach
# db-name should be what you selected in the previous step.
$ flyctl secrets set DJANGO_SECRET_KEY=
```At this point, everything is set up and ready to go. You can [add a custom user model](https://docs.djangoproject.com/en/3.2/topics/auth/customizing/#using-a-custom-user-model-when-starting-a-project) or make any other modifications at this point so that those changes are reflected in the first database migration and deploy.
Once you're ready for deploy:
```bash
flyctl deploy --local-only
```