Powered by Cookiecutter, inspired by Cookiecutter Django.
- Docker
- 12 Factor
- Server: Caddy
- Frontend: Vue
- Backend: Django
- Database: PostgreSQL
- pipenv for python-requirements
- Webpack for builds and hot-development-server
- Send emails via Anymail (using Mailgun by default)
These features can be enabled during initial project setup.
- Integration with Travis for CI
- Integration with MailHog for local email testing
- Integration with Sentry for frontend and backend errors logging
- Integration with Google Analytics or Yandex Metrika for web-analytics
First, get cookiecutter
and pipenv
:
$ pip install cookiecutter pipenv
Now run it against this repo:
$ cookiecutter gh:vchaptsev/cookiecutter-django-vue
You'll be prompted for some values. Provide them, then a project will be created for you.
Answer the prompts with your own desired options. For example:
======================= GENERAL ====================== [ ]:
project_name [Project Name]: Website
project_slug [website]: website
domain [website.com]: website.com
description [Short description]: My awesome website
author [Your Name]: Your Name
email [<[email protected]>]: <[email protected]>
version [0.1.0]: 0.1.0
Select license:
1 - MIT
2 - BSD
3 - GPLv3
4 - Apache Software License 2.0
5 - Not open source
Choose from 1, 2, 3, 4, 5 [1]: 1
======================= DEVOPS ======================= [ ]:
use_travis [y]: y
use_sentry [y]: y
======================= BACKEND ====================== [ ]:
use_mailhog [y]: y
custom_user [n]: n
======================= FRONTEND ===================== [ ]:
Select analytics:
1 - Google Analytics
2 - Yandex Metrika
3 - None
Choose from 1, 2, 3 [1]: 2
use_progressbar [n]: n
Now you can start project with docker-compose:
$ docker-compose up --build
For production you'll need to fill out .env
file and use
docker-compose-prod.yml
file:
$ docker-compose -f docker-compose-prod.yml up --build -d