Skip to content

Projet perso de site web Django déployé avec Docker

Notifications You must be signed in to change notification settings

Yumemocchi/djangoWithDocker

Repository files navigation

Projet de blog Django avec Docker

Pour lancer l'application avec docker en production

Ce projet utilisera

  • 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

Note :

> Pour la partie avec letsencrypt utiliser la version https du deploy

schema

Marche à suivre

  • 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 :

img.png

======================================================================

Pour lancer l'application en local

  • Faire git clone du projet
  • Créer un fichier .env sur base du .env.sample
  • Créer un environnement virtuel

Windows

py -3 -m venv .venv
.venv\scripts\activate

Linux et macOS

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.

About

Projet perso de site web Django déployé avec Docker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published