Took inspiration from testdriven.io. Check out the tutorial here.
- Not using postgres as a database (You can add it back in if you want to, just look at what testdriven.io did)
- Split settings into settings files according to HackSoftware, Django Styleguide
- Using development will also added Django Debug Toolbar
- Added Celery and Celery Beat in a container
- Added Tailwind via Django Tailwind CLI
- Added Scripts to be able to use Alpine.js
- Added Scripts to be able to use htmx
If coming from Bootstrap and used to components, check out Penguin UI to "Get Your Project Off The Ice Fast & Easy."
Uses the default Django development server.
-
Rename .env.dev-sample to .env.dev.
-
Update the environment variables in the docker-compose.yml and .env.dev files.
-
Build the images and run the containers:
$ docker-compose up -d --build
Test it out at http://localhost:8000. The "app" folder is mounted into the container and your code changes apply automatically.
Tailwind is installed by default, if using bootstrap you can change as needed, the runserver command for development just remove the tailwind parameter.
Uses gunicorn + nginx.
-
Rename .env.prod-sample to .env.prod and .env.prod.db-sample to .env.prod.db. Update the environment variables.
-
Build the images and run the containers:
$ docker-compose -f docker-compose.prod.yml up -d --build
Test it out at http://localhost:1337. No mounted folders. To apply changes, the image must be re-built.