L’écosystème des plateformes de déploiement cloud est en pleine transformation. Après la popularité de solutions SaaS telles que Vercel, Render ou Netlify, une nouvelle proposition émerge : /dev/push, un projet open source et auto-hébergé qui vise à offrir aux développeurs et aux entreprises un contrôle total sur leurs déploiements.
Créé par la communauté et distribué sous licence MIT, /dev/push se présente comme une alternative légère mais complète pour gérer des applications modernes dans des environnements autonomes, sans dépendre de tiers et avec la flexibilité qu’offre Docker.
Déploiements automatiques et zéro temps d’indisponibilité
Le cœur de /dev/push repose sur une approche basée sur Git : il suffit d’effectuer un push sur GitHub pour lancer une nouvelle version de l’application avec mise à jour à chaud et rollback instantané.
Cela en fait un outil utile aussi bien pour des projets personnels que pour des équipes professionnelles nécessitant des processus CI/CD simples mais fiables.
Principales caractéristiques
- Compatibilité multi-langages : support actuel pour Python et Node.js (en bêta), avec des intentions pour PHP et Ruby on Rails dans la feuille de route. Fonctionnant via Docker, tout stack peut être adapté.
- Gestion des environnements : possibilité d’attribuer des branches à différents environnements (staging, production, etc.) et de gérer des variables d’environnement chiffrées.
- Monitoring en temps réel : accès aux logs de compilation et d’exécution avec recherche en direct grâce à l’intégration avec Loki.
- Collaboration en équipe : contrôle d’accès basé sur les rôles, invitations et permissions.
- Domaines personnalisés : support natif pour les domaines propres et certificats SSL automatiques via Let’s Encrypt.
- Auto-hébergement et open source : fonctionne sur ses propres serveurs, garantissant une indépendance vis-à-vis des fournisseurs externes.
Architecture technique
La plateforme est construite sur une architecture moderne :
- FastAPI pour la logique applicative.
- PostgreSQL comme base de données.
- Redis pour la gestion des files d’attente avec arq.
- Traefik comme proxy inverse et gestionnaire de certificats SSL.
- Loki pour la collecte et la consultation des logs.
- Docker & Compose pour l’orchestration et l’exécution des conteneurs.
Grace à cette architecture modulaire, /dev/push reste léger tout en étant scalable, capable de s’adapter à un serveur unique ou de s’intégrer dans des environnements plus complexes tels que Docker Swarm.
Déploiement sur un serveur Linux
Un des atouts majeurs de /dev/push est sa facilité d’installation sur ses propres serveurs. Conçu pour Ubuntu/Debian, il peut également fonctionner sur d’autres distributions.
Installation rapide via script officiel
Sur un serveur propre, il suffit d’exécuter :
curl -fsSL https://raw.githubusercontent.com/hunvreus/devpush/main/scripts/prod/install.sh | sudo bash
Ce script installe Docker, crée l’utilisateur de service, télécharge les conteneurs et génère la structure de répertoires.
Ensuite, il faut modifier le fichier .env
pour définir des variables essentielles telles que :
LE_EMAIL
(adresse email pour les certificats SSL)APP_HOSTNAME
(domaine de la console, exemple :app.mondomaine.com
)DEPLOY_DOMAIN
(domaine principal pour les déploiements, exemple :*.mon-domaine.dev
)- Paramètres de l’application GitHub (ID de l’app, clés, secrets, etc.)
Enfin, il suffit de lancer le service :
scripts/prod/start.sh --migrate
L’interface sera accessible à l’adresse https://APP_HOSTNAME
.
Installation manuelle avec Docker Compose
Pour ceux qui souhaitent plus de contrôle, il est également possible de déployer la stack avec docker compose
en définissant des services pour PostgreSQL, Redis, Traefik, Loki et l’application elle-même.
Cette méthode permet de personnaliser les ressources, chemins pour les volumes ou d’intégrer la plateforme dans des infrastructures existantes.
Intégration avec GitHub
Pour activer le déploiement automatique, il faut créer une GitHub App avec les permissions en lecture/écriture pour les dépôts et les déploiements. Parmi les configurations obligatoires :
- URL de callback et webhook pointant vers
/api/github/*
. - Permissions sur issues, pull requests, contenus et commits.
- Événements abonnés : installation, push et dépôt.
Avec cette configuration, chaque push sur la branche assignée déclenche un déploiement immédiat dans l’environnement correspondant.
Un pas de plus vers la souveraineté technologique
Le lancement de /dev/push s’inscrit dans la tendance croissante vers l’auto-hébergement et la souveraineté numérique. Opposée aux services managés qui offrent confort mais cèdent le contrôle et créent une dépendance, cette plateforme privilégie un équilibre : simplicité pour le développeur tout en gardant un contrôle total sur l’infrastructure.
FAQ
En quoi /dev/push se distingue-t-il de Vercel ou Render ?
Principalement, il est auto-hébergé et open source. Vous ne dépendez pas d’un fournisseur externe, mais l’exécutez sur vos propres serveurs avec Docker.
Peut-on l’utiliser avec n’importe quel langage de programmation ?
Oui, tant que cela peut fonctionner dans Docker. Actuellement, il existe des runners officiels pour Python et Node.js, avec bientôt PHP et Ruby on Rails.
Quels sont les prérequis minimaux pour l’installer ?
Un serveur Linux (Ubuntu/Debian recommandé), avec au moins 2 vCPUs, 4 Go de RAM et Docker. Pour la production, des machines de gamme moyenne comme un CPX31 de Hetzner sont conseillées.
Comment sont gérés les certificats SSL ?
Traefik, intégré dans l’architecture, gère automatiquement les certificats Let’s Encrypt pour le panneau de contrôle et pour les domaines de déploiement (*.DEPLOY_DOMAIN
).
source : /dev/push sur System Administration