DockerDjangoBase

Environnement de développement Django avec Docker, MySQL et MongoDB

Python 3.11 Django 5.1.5 Docker MySQL 8 MongoDB

À propos du projet

DockerDjangoBase est un projet starter pour le développement d'applications web Django modernes avec une configuration Docker prête à l'emploi. Il intègre à la fois MySQL et MongoDB pour offrir une flexibilité maximale dans la gestion des données.

Django

Framework web Python puissant pour un développement rapide et propre

Docker

Environnement de développement isolé et reproductible

MySQL

Base de données relationnelle pour les données structurées

MongoDB

Base de données NoSQL pour les données non structurées

Fonctionnalités

  • Configuration Django prête à l'emploi avec structure de projet optimisée
  • Docker et docker-compose intégrés pour un environnement isolé et reproductible
  • Base de données MySQL pour les données relationnelles
  • Base de données MongoDB pour les données non structurées
  • API REST avec Django Rest Framework
  • Système d'authentification personnalisé avec gestion de tokens
  • Multiple bases de données avec configuration optimisée

Démarrage rapide

Cloner et démarrer

Pour démarrer avec ce projet, assurez-vous d'avoir Docker et docker-compose installés, puis exécutez:

git clone https://github.com/Frozenn-X/DockerDjangoBase.git
cd DockerDjangoBase
docker-compose up -d

L'application sera disponible à l'adresse: http://localhost:8000

L'API d'authentification est accessible via: /auth/

Modes de déploiement

Mode développement

Utilise le serveur de développement intégré à Django :

python manage.py runserver 0.0.0.0:8000
  • Rechargement automatique du code
  • Débogage facilité
  • Messages d'erreur détaillés

Actuellement actif dans le projet

Mode production (WSGI)

Utilise Gunicorn comme serveur WSGI :

gunicorn core.wsgi:application --bind 0.0.0.0:8000 --workers 3
  • Performances optimisées
  • Meilleure gestion des requêtes concurrentes
  • Configuration sécurisée (DEBUG=False)
  • Serveur multi-processus

Passer en mode Production

Pour passer du mode Développement au mode Production, suivez ces étapes :

1

Modifier le Dockerfile

Remplacez la commande de démarrage :

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

Par :

CMD ["gunicorn", "core.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "3"]

Ajoutez également l'installation de Gunicorn :

RUN pip install --no-cache-dir gunicorn
2

Configurer Django

Dans core/settings.py :

# Passez en mode production DEBUG = False # Configurez les hôtes autorisés ALLOWED_HOSTS = ['votre-domaine.com', 'www.votre-domaine.com']
3

Collecter les fichiers statiques

docker-compose exec web python manage.py collectstatic --noinput
4

Reconstruire et redémarrer

docker-compose build web
docker-compose up -d