109 lines
4.4 KiB
Markdown
109 lines
4.4 KiB
Markdown
---
|
|
title: Dock-Dploy
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, deployment, ci-cd, docker-compose, automation]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/dock-dploy]
|
|
---
|
|
|
|
# 🚀 Dock-Dploy
|
|
|
|
> **Outil CI/CD minimaliste pour `docker-compose`** — déclenchez vos déploiements à partir d'un push Git ou d'un webhook, sans la lourdeur de Jenkins ou GitLab.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [dock-dploy.com](https://dock-dploy.com/) |
|
|
| **GitHub** | [dock-dploy/dock-dploy](https://github.com/dock-dploy/dock-dploy) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go, Shell |
|
|
| **Étoiles GitHub** | 237 ⭐ |
|
|
| **Dernière MAJ** | 2024-09 (⚠️ activité faible) |
|
|
| **Catégorie** | [[cat-deployment\|Deployment]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Dock-Dploy** se positionne comme un **pont léger entre un dépôt Git et un hôte Docker**. Le principe : à chaque `git push` (ou webhook), l'outil récupère le `docker-compose.yml` du dépôt, tire les nouvelles images, applique un `docker compose up -d` sur le serveur cible, et notifie l'utilisateur du résultat (succès/échec). Pas de pipeline YAML complexe, pas de runners à installer : un binaire unique sur l'hôte et un accès SSH suffisent.
|
|
|
|
C'est une alternative **radicalement simple** à des stacks CI/CD classiques comme **Woodpecker CI**, **Drone** ou **Gitea Actions**, particulièrement adaptée aux homelabs et petits projets qui veulent juste « *ça déploie quand je push* ». Dock-Dploy gère plusieurs serveurs cibles, les variables d'environnement par projet, les hooks pre/post-deploy, et expose une API REST simple pour orchestrer depuis l'extérieur.
|
|
|
|
**Limites à connaître** : projet jeune, faible communauté, peu de documentation sur les cas avancés (rolling updates, canary, secrets). Pour des déploiements critiques en production, mieux vaut se tourner vers des solutions éprouvées.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
dock-dploy:
|
|
image: dockdploy/dock-dploy:latest
|
|
container_name: dock-dploy
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- dockdploy_data:/data
|
|
- ~/.ssh:/root/.ssh:ro
|
|
environment:
|
|
- DD_LISTEN_PORT=8080
|
|
- DD_DEFAULT_BRANCH=main
|
|
- DD_SSH_KEY_PATH=/root/.ssh/id_ed25519
|
|
|
|
volumes:
|
|
dockdploy_data:
|
|
```
|
|
|
|
### Installation manuelle (binaire Go)
|
|
|
|
```bash
|
|
# Téléchargement direct depuis GitHub Releases
|
|
curl -L -o /usr/local/bin/dock-dploy \
|
|
https://github.com/dock-dploy/dock-dploy/releases/latest/download/dock-dploy_linux_amd64
|
|
chmod +x /usr/local/bin/dock-dploy
|
|
dock-dploy --config /etc/dock-dploy/config.yaml
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **Connexion aux serveurs distants** : clé SSH + user ; plusieurs hôtes supportés, configurés par projet.
|
|
- **Variables d'environnement** : fichier `.env` par projet, secrets chiffrés au repos via `dock-dploy secret set`.
|
|
- **Webhooks Git** : un endpoint par projet, à coller dans les settings du dépôt (GitHub, Gitea, GitLab).
|
|
- **Notifications** : Slack, Discord, Telegram, email (SMTP générique).
|
|
- **Logs et historique** : chaque déploiement garde une trace, visible dans l'UI.
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[Woodpecker CI](app-woodpecker-ci.md)** — Forgé par la communauté Forgejo/Gitea, mature.
|
|
- **[Drone](app-drone.md)** — CI/CD container-native, plus ancien, plugins nombreux.
|
|
- **[Coolify](app-coolify.md)** — PaaS complet avec déploiement Git intégré.
|
|
- **Watchtower + cron** — pour du *pull-based* sans CI/CD.
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- **Clés SSH privées** : stockées dans le volume `data`, **chiffrement au repos recommandé** (`dock-dploy secret`).
|
|
- **Endpoint webhooks** : protéger par secret token + IP allowlist du fournisseur Git.
|
|
- **Privilèges Docker** : Dock-Dploy monte le socket Docker, ce qui lui donne les pleins pouvoirs sur l'hôte. **Ne pas exposer sur Internet sans auth forte** et placer derrière [[app-traefik]] + [[app-authelia]].
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub dock-dploy](https://github.com/dock-dploy/dock-dploy)
|
|
- [Documentation Dock-Dploy](https://docs.dock-dploy.com/)
|
|
- [Selfh.st — Deployment](https://selfh.st/apps/?tag=Deployment)
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-deployment]]
|
|
- [[app-coolify]]
|
|
- [[app-portainer]]
|
|
- [[app-traefik]]
|
|
- [[cat-docker]]
|
|
- [[securisation-home-lab]]
|
|
- [[recettes-docker-compose]]
|