← Accueil
⚙️

Automation

Ansible, Semaphore, scripts et Infrastructure as Code

🎯 Philosophy DevOps

Tout est automatisé et versionné : déploiements, configurations, backups. Infrastructure as Code (IaC) avec Ansible pour reproductibilité et disaster recovery rapide.

🔧 Ansible Semaphore

Interface web pour orchestrer les playbooks Ansible sans ligne de commande :

Playbooks principaux

# Déploiement complet homelab - deploy-docker-stack.yml # Configuration système - configure-system.yml - install-monitoring.yml # Backups automatisés - backup-gitea.yml - backup-semaphore.yml - sync-to-nas.yml # Mises à jour - update-all-systems.yml - update-docker-containers.yml

📦 Gitea - Git Self-hosted

Hébergement Git privé pour tous les scripts, playbooks et configurations :

Repositories clés

🚀 Workflows d'Automation

Backup quotidien (2h du matin)

1. Semaphore exécute backup-gitea.yml 2. Gitea → dump SQL + volumes Docker 3. Semaphore exécute backup-semaphore.yml 4. MySQL dump + volumes data 5. Semaphore exécute sync-to-nas.yml 6. rsync → TrueNAS 7. Notification Discord : ✅ Backup OK

Déploiement nouveau service

1. Créer docker-compose.yml dans Gitea 2. Push vers repo 3. Webhook → Semaphore 4. Playbook deploy-service.yml exécuté 5. docker-compose up -d sur serveur cible 6. Ajout reverse proxy NPM automatique 7. Tests de santé 8. Notification : 🚀 Service déployé

Mises à jour hebdomadaires (dimanche 3h)

1. apt update && upgrade sur toutes les VMs 2. Watchtower → MAJ conteneurs Docker 3. Snapshots Proxmox avant reboot 4. Redémarrage si kernel update 5. Vérification services post-reboot 6. Rapport envoyé par email

📜 Scripts Bash

Scripts personnalisés pour tâches spécifiques :

🔄 CI/CD Pipeline

Intégration et déploiement continu avec Gitea Actions :

# .gitea/workflows/deploy.yml name: Deploy to Production on: [push] jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Deploy via Ansible run: ansible-playbook deploy.yml - name: Health Check run: curl https://service.ruelle.fr/health

📊 Monitoring de l'Automation

🔗 Accès

⚙️ Ansible Semaphore 🔧 Gitea Git 🐳 Portainer