Aller au contenu

Infrastructure

⬇️ Télécharger cette page en Markdown


Introduction

Documentation complète de l'infrastructure, de la configuration, du déploiement et de la scalabilité d'Urbafix.


Contenu

Configuration

40+ variables d'environnement : Base de données, Redis, sessions, cache, storage, queue, SMTP, règles métier.

Guide complet pour chaque environnement (dev, staging, production).

Docker Stateless

Configuration Docker Compose pour architecture stateless : services Redis, health checks, load balancer, horizontal scaling.

Déploiement

Procédures de déploiement complet : installation serveur, reverse proxy (au choix), SSL Let's Encrypt, backups automatiques, monitoring.

Scalabilité

6 scénarios de scaling : single instance → multi-régions, comparaisons coûts/capacité, migrations progressives, métriques.


Fichiers de Configuration Clés

.env                    # Configuration environnement (JAMAIS committer)
.env.example            # Template avec valeurs par défaut
docker-compose.yml      # Services Docker
Dockerfile              # Image PHP personnalisée
nginx.conf              # Configuration web server

Variables d'Environnement Critiques

Sécurité Production

OBLIGATOIRE : Changer TOUS les mots de passe avant déploiement production.

# Database
DB_PASSWORD=changez_ce_mot_de_passe_2024
MYSQL_ROOT_PASSWORD=changez_ce_mot_de_passe_root_2024

# Redis
REDIS_PASSWORD=changez_ce_mot_de_passe_redis

# Application
APP_SECRET_KEY=changez_cette_cle_secrete_aleatoire_longue
APP_ENV=production
APP_DEBUG=false

# SMTP
SMTP_PASSWORD=votre_mot_de_passe_email

Génération mots de passe :

openssl rand -base64 32


Déploiement Rapide

Développement

git clone https://github.com/urbafix/urbafix.git
cd urbafix
cp .env.example .env
docker-compose up -d

Production

# 1. Configuration
cp .env.example .env.production
# Modifier TOUS les mots de passe

# 2. Activer Redis
docker-compose --profile redis up -d

# 3. Reverse proxy HTTPS
# Voir deployment.md

Architecture Infrastructure

Architecture infrastructure : le load balancer répartit vers les instances web répliquées, qui écrivent dans Redis et MariaDB, montent un volume uploads partagé et peuvent en option écrire vers S3


Document Description
Configuration Variables .env complètes
Docker Services et scaling horizontal
Déploiement Procédures production
Scalabilité Scénarios de montée en charge