Django docker boilerplate with Postgres database in Docker containers using Docker compose.
- Docker
docker - Docker compose
docker-compose
You don't need Python and modules to run this project, however it will be needed for linting e.t.c.
First of all download this project, then run:
#[ALREADY DONE]# docker-compose run --rm django_app django-admin startproject <name> .
docker-compose run --rm django_app python manage.py startapp <name>
docker-compose run --rm django_app chmod -Rv 777 .[Already done]: Add database settings to your settings.py:
POSTGRES_USER = os.environ.get('POSTGRES_USER', 'postgres')
POSTGRES_PASSWORD = os.environ.get('POSTGRES_PASSWORD', 'postgres')
POSTGRES_DB = os.environ.get('POSTGRES_DB', 'postgres')
POSTGRES_HOST = os.environ.get('POSTGRES_HOST', 'db')
POSTGRES_PORT = int(os.environ.get('POSTGRES_PORT', 5432))
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': POSTGRES_DB,
'USER': POSTGRES_USER,
'PASSWORD': POSTGRES_PASSWORD,
'HOST': POSTGRES_HOST,
'PORT': POSTGRES_PORT,
}
}Make migrations:
docker-compose run --rm django_app python manage.py makemigrations
docker-compose run --rm django_app python manage.py migrateCreate admin user:
docker-compose run --rm django_app python manage.py createsuperuserStart your application by running:
docker-compose up --buildSee your app in action: http://localhost:8080
Use CTRL+C to stop your app.
12.06.2019: Added holdup script to wait till postgres is ready.
- Fork it (https://github.com/standart-ag/django-docker/fork)
- Create your feature branch (
git checkout -b feature/fooBar) - Commit your changes (
git commit -am 'Add some fooBar') - Push to the branch (
git push origin feature/fooBar) - Create a new Pull Request
This project is licensed under the MIT License - see the LICENSE file for details