Files
wiki/Catalogue-Self-Hosted/apps/app-dock-dploy.md
T
2026-06-09 18:40:21 +02:00

4.4 KiB


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
GitHub dock-dploy/dock-dploy
License MIT
Langage Go, Shell
Étoiles GitHub 237
Dernière MAJ 2024-09 (⚠️ activité faible)
Catégorie cat-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é)

# 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)

# 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 — Forgé par la communauté Forgejo/Gitea, mature.
  • Drone — CI/CD container-native, plus ancien, plugins nombreux.
  • Coolify — 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

🔗 Pages Liées