[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-installer-apache-airflow-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":20,"featuredImage":22,"bgImage":23,"posterImage":24,"relatedSolution":25,"intro":27,"sections":28,"ctaTitle":71,"ctaBody":72,"ctaButton":73,"ctaUrl":74,"relatedPosts":75},31,"installer-apache-airflow-vps","Installer Apache Airflow sur un VPS : automatisation self-hosted","Installez Apache Airflow sur votre VPS : orchestration de DAG en Python pour vos pipelines data et ETL, en self-hosted avec Docker Compose.",9,747,false,"2026-05-20T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},2,"Automatisation","automatisation","bg-brand-action\u002F10 text-brand-action",[21],{"id":16,"name":17,"slug":18,"color":19,"icon":18},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Finstaller-apache-airflow-vps-poster.svg",{"categorySlug":18,"appSlug":26},"apache-airflow","Apache Airflow est la référence open source pour orchestrer des pipelines de données sous forme de DAG écrits en Python. Schedulers, opérateurs, sensors et une UI riche en font le standard de fait pour l'ETL et le batch data. Self-hébergé sur un VPS, il devient votre ordonnanceur central, sans dépendre d'un service managé coûteux.",[29,33,43,46,68],{"type":30,"title":31,"body":32},"h2","Pourquoi self-héberger Apache Airflow sur un VPS","Airflow est l'outil que choisissent les équipes data quand elles veulent décrire leurs pipelines en Python pur : chaque DAG est un fichier .py qui définit des tâches, leurs dépendances et leur planification. L'écosystème de providers est immense (bases SQL, S3, BigQuery, dbt, Spark…), et la communauté gigantesque. Les services managés (Cloud Composer, MWAA) facturent cher l'environnement à l'heure ; en self-hébergeant Airflow sur un VPS, vous obtenez le même moteur pour le coût d'un serveur, et vos DAG s'exécutent au plus près de vos sources de données internes. C'est aussi une question de contrôle : versions des providers, dépendances Python custom, variables et connexions, tout reste sous votre main. Le déploiement Docker Compose officiel (CeleryExecutor) reproduit fidèlement une architecture de production : webserver, scheduler, workers, Redis et PostgreSQL.",{"type":34,"title":35,"items":36},"ul","Bénéfices concrets du self-hosting",[37,38,39,40,41,42],"DAG en Python pur, versionnés dans Git, avec dépendances et providers maîtrisés.","Énorme écosystème d'opérateurs : SQL, cloud, dbt, Spark, HTTP, et plus.","Scheduler robuste : cron, dépendances entre tâches, backfill et catchup.","Workers Celery scalables pour absorber des centaines de tâches en parallèle.","Exécution proche de vos bases internes, sans transit par un cloud tiers.","Coût d'un VPS au lieu d'un environnement managé facturé à l'heure.",{"type":30,"title":44,"body":45},"Prérequis techniques","Airflow est l'outil le plus gourmand de cette série en configuration CeleryExecutor, car il fait tourner simultanément webserver, scheduler, worker(s), triggerer, Redis et PostgreSQL. La documentation officielle recommande au moins 4 Go de RAM, mais pour une production confortable visez 4 vCPU et 8 Go de RAM ; 16 Go si vos DAG chargent pandas ou de gros volumes. Prévoyez 40 Go de disque, Docker et Docker Compose, et un domaine (`airflow.votredomaine.ma`). Le mode LocalExecutor allège la stack (sans Celery ni Redis) et peut tourner sur 4 Go si vos besoins restent modestes.",{"type":47,"title":48,"steps":49},"steps","Déployer Apache Airflow avec Docker Compose",[50,53,56,59,62,65],{"title":51,"body":52},"Récupérer le compose officiel","Créez `\u002Fopt\u002Fairflow`, puis téléchargez le fichier de référence : `curl -LfO https:\u002F\u002Fairflow.apache.org\u002Fdocs\u002Fapache-airflow\u002Fstable\u002Fdocker-compose.yaml`. Créez les sous-dossiers attendus : `mkdir -p .\u002Fdags .\u002Flogs .\u002Fplugins .\u002Fconfig`.",{"title":54,"body":55},"Régler les permissions et l'UID","Airflow exige un UID cohérent pour les volumes montés. Générez le fichier d'environnement : `echo -e \"AIRFLOW_UID=$(id -u)\" > .env`. Sans cela, le scheduler ne pourra pas écrire ses logs et plantera au démarrage.",{"title":57,"body":58},"Initialiser la base de données","Lancez la migration et la création du compte admin : `docker compose up airflow-init`. Cette commande prépare PostgreSQL, applique les migrations et crée l'utilisateur par défaut `airflow \u002F airflow`, à changer ensuite.",{"title":60,"body":61},"Démarrer la stack complète","Lancez tous les services : `docker compose up -d`. Vérifiez que webserver, scheduler, worker et triggerer sont `healthy` avec `docker compose ps`. Le webserver écoute sur le port 8080.",{"title":63,"body":64},"Reverse proxy et HTTPS","Mettez Caddy devant le webserver : `airflow.votredomaine.ma { reverse_proxy localhost:8080 }`. Le HTTPS protège l'accès à l'UI Airflow, qui expose connexions, variables et logs potentiellement sensibles.",{"title":66,"body":67},"Déposer un DAG et l'exécuter","Placez un fichier `hello.py` minimal dans `.\u002Fdags` (un `DAG` avec une `BashOperator` ou `PythonOperator`). Le scheduler le détecte en quelques secondes. Activez-le dans l'UI, déclenchez une exécution manuelle et inspectez les logs de la tâche.",{"type":69,"body":70},"tip","Ne mettez jamais de logique lourde directement dans le fichier DAG : le scheduler parse tous les .py à intervalle régulier (`min_file_process_interval`), et un import coûteux au niveau module ralentit tout l'ordonnanceur. Gardez le code de parsing léger et déportez le travail dans les tâches. Pour gérer les dépendances Python custom, construisez votre propre image dérivée de `apache\u002Fairflow` avec un `requirements.txt` plutôt que d'installer des paquets au runtime : vos workers démarrent plus vite et restent reproductibles. Enfin, surveillez la croissance du dossier `.\u002Flogs` et purgez régulièrement.","Le VPS Cloud idéal pour Airflow","Airflow en mode Celery réclame de la RAM et plusieurs conteneurs : le VPS Cloud ServOrbit fournit les ressources, Docker préconfiguré et SSL automatique pour héberger votre ordonnanceur data en self-hosted, à coût maîtrisé.","Déployer mon VPS Cloud","\u002Fvps-cloud",[76,90,104],{"id":77,"slug":78,"title":79,"excerpt":80,"readTime":81,"views":82,"isPinned":13,"publishedAt":83,"category":84,"categories":85,"featuredImage":22,"bgImage":23,"posterImage":87,"relatedSolution":88},3,"installer-n8n-vps","Installer n8n sur un VPS : automatisation sans limites","Guide complet pour déployer n8n self-hosted sur un VPS. Automatisez vos processus métier sans restriction de workflows ni facturation à l'exécution.",6,3080,"2026-06-05T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[86],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-n8n-vps-poster.svg",{"categorySlug":18,"appSlug":89},"n8n",{"id":91,"slug":92,"title":93,"excerpt":94,"readTime":95,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":22,"bgImage":23,"posterImage":101,"relatedSolution":102},24,"installer-node-red-vps","Installer Node-RED sur un VPS : automatisation self-hosted","Installez Node-RED sur un VPS pour automatiser vos workflows en flow-based, connecter vos API et objets IoT, le tout self-hosted et sécurisé.",8,488,"2026-05-27T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-node-red-vps-poster.svg",{"categorySlug":18,"appSlug":103},"node-red",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":95,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":22,"bgImage":23,"posterImage":114,"relatedSolution":115},25,"installer-huginn-vps","Installer Huginn sur un VPS : automatisation self-hosted","Installez Huginn sur un VPS pour créer des agents qui surveillent le web, scrapent des pages et déclenchent des actions, 100% self-hosted.",525,"2026-05-26T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":18},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":18},"\u002Fblog\u002Fcovers\u002Finstaller-huginn-vps-poster.svg",{"categorySlug":18,"appSlug":116},"huginn",1784126243900]