Files
walter-coiffure-dockerized/README.md
BeauTroll 49e308c3b2 Add Docker configuration for Walter Coiffure WordPress site
- Add docker-compose.yml with WordPress and MariaDB services
- Configure Traefik reverse proxy with automatic SSL
- Add environment variables template (.env.example)
- Add comprehensive README with deployment instructions
- Exclude waltercoiffure/ data directory from version control

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 08:43:23 +01:00

5.1 KiB

Walter Coiffure - Site WordPress Dockerisé

Site WordPress pour Walter Coiffure, configuré avec Docker et Traefik comme reverse proxy.

Prérequis

  • Docker et Docker Compose installés
  • Un réseau Docker Traefik déjà configuré (voir ci-dessous)
  • Un nom de domaine pointant vers votre serveur

Configuration

1. Variables d'environnement

Copiez le fichier .env.example vers .env et modifiez les valeurs:

cp .env.example .env

Configurez les variables suivantes dans .env:

# Configuration de la base de données
MYSQL_DATABASE=waltercoiffure
MYSQL_ROOT_PASSWORD=votre_mot_de_passe_root
MYSQL_USER=waltercoiff
MYSQL_PASSWORD=votre_mot_de_passe

# Configuration du domaine
DOMAIN=votre-domaine.com

2. Réseau Traefik

Le docker-compose.yml suppose qu'un réseau Docker externe nommé traefik existe déjà. Si ce n'est pas le cas, créez-le:

docker network create traefik

3. Configuration Traefik

Assurez-vous que votre instance Traefik est configurée avec:

  • Un resolver Let's Encrypt nommé letsencrypt
  • Les entrypoints web (port 80) et websecure (port 443)

Exemple de configuration Traefik minimale:

# traefik/docker-compose.yml
version: '3.9'

services:
  traefik:
    image: traefik:v2.10
    container_name: traefik
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    networks:
      - traefik
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik.yml:/traefik.yml:ro
      - ./acme.json:/acme.json
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.email=votre@email.com"
      - "--certificatesresolvers.letsencrypt.acme.storage=/acme.json"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"

networks:
  traefik:
    external: true

Démarrage

Première installation

  1. Démarrez les services:
docker-compose up -d
  1. La base de données sera automatiquement initialisée avec le dump SQL situé dans backup_dir/waltercoiffure/wc.dump.sql

  2. Attendez quelques secondes que les services démarrent:

docker-compose logs -f
  1. Accédez à votre site via https://votre-domaine.com

Commandes utiles

# Voir les logs
docker-compose logs -f

# Voir les logs d'un service spécifique
docker-compose logs -f wordpress
docker-compose logs -f db

# Redémarrer les services
docker-compose restart

# Arrêter les services
docker-compose down

# Arrêter et supprimer les volumes (ATTENTION: supprime les données)
docker-compose down -v

Structure du projet

.
├── docker-compose.yml          # Configuration Docker Compose
├── .env                        # Variables d'environnement (non versionné)
├── .env.example               # Template des variables d'environnement
└── backup_dir/
    └── waltercoiffure/
        ├── wordpress/         # Fichiers WordPress
        ├── plugins/          # Plugins WordPress
        ├── themes/           # Thèmes WordPress
        ├── uploads/          # Médias uploadés
        └── wc.dump.sql      # Dump de la base de données

Services

WordPress

  • Image: wordpress:6.4-php8.2-apache
  • Container: walter-coiffure-wp
  • Réseau: traefik (externe), internal (interne)
  • Volumes:
    • Fichiers WordPress depuis backup_dir/waltercoiffure/wordpress
    • Plugins, thèmes et uploads montés séparément

Base de données

  • Image: mariadb:11.2
  • Container: walter-coiffure-db
  • Réseau: internal (interne uniquement)
  • Volumes:
    • dbdata pour la persistance
    • Dump SQL pour l'initialisation

Sécurité

  • Le fichier .env contient des informations sensibles et ne doit pas être versionné
  • La base de données n'est accessible que depuis le réseau interne
  • Le site force HTTPS via Traefik
  • Les certificats SSL sont gérés automatiquement par Let's Encrypt

Dépannage

Le site n'est pas accessible

  1. Vérifiez que Traefik est en cours d'exécution:

    docker ps | grep traefik
    
  2. Vérifiez les logs de WordPress:

    docker-compose logs wordpress
    
  3. Vérifiez que le réseau traefik existe:

    docker network ls | grep traefik
    

Problèmes de base de données

  1. Vérifiez les logs de la base de données:

    docker-compose logs db
    
  2. Vérifiez la santé du service:

    docker-compose ps
    
  3. Connectez-vous à la base de données:

    docker-compose exec db mysql -u waltercoiff -p waltercoiffure
    

Certificats SSL

Si vous avez des problèmes avec les certificats SSL, vérifiez:

  1. Que votre domaine pointe bien vers votre serveur
  2. Que les ports 80 et 443 sont ouverts
  3. Les logs de Traefik pour voir les erreurs ACME

Support

Pour toute question ou problème, veuillez créer une issue dans le dépôt du projet.