- Gunicorn comme serveur WSGI
- Postgresql en base de données
- Whitenoise pour servir les fichiers statiques (sauf media)
- Traefik pour rediriger les requêtes vers l'application Django
> Pour la partie avec letsencrypt utiliser la version https du deploy
- Faire git clone du projet
- Créer un fichier .env sur base du .env.sample
- Modifier les fichiers Dockerfile et docker-compose pour mettre votre URL à la place de "app.localhost"
- Il faut avoir docker et docker-compose installés sur sa machine
- Jouer les commandes suivantes
docker-compose -f docker-compose-deploy.yml build
docker-compose -f docker-compose-deploy.yml up -d
docker-compose -f docker-compose-deploy.yml run --rm app sh -c "python manage.py createsuperuser"
Le site sera alors accessible via l'url "app.localhost" (ou via l'url choisie)
>> En cas de modification du modèle de database il faudra faire un makemigration en local avant de re-builder
>> Attention si vous êtes sur windows avec git en clrf auto il faudra remettre le run.sh en LF avec notepad++ par exemple
Le résultat final :
======================================================================
- Faire git clone du projet
- Créer un fichier .env sur base du .env.sample
- Créer un environnement virtuel
py -3 -m venv .venv
.venv\scripts\activate
python3 -m venv .venv
source .venv/bin/activate
- Se positionner dans le répertoire src
- Lancer l'installation des requirements
pip install -r requirements.txt
- Jouer les commandes suivantes l'une après l'autre
python manage makemigrations
python manage migrate
- Créer le super user
python manage createsuperuser
python manage runserver
Le site est alors accessible via localhost:8000.