114 lines
5.2 KiB
Markdown
114 lines
5.2 KiB
Markdown
---
|
|
title: Dokploy
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, deployment, paas, traefik, docker]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/Dokploy/dokploy]
|
|
---
|
|
|
|
# 🚀 Dokploy
|
|
|
|
> **Le concurrent direct de Coolify** — PaaS self-hosted basé sur Traefik, UI moderne, multi-base de données et Docker Swarm natif, en croissance très rapide.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [dokploy.com](https://dokploy.com/) |
|
|
| **GitHub** | [Dokploy/dokploy](https://github.com/Dokploy/dokploy) |
|
|
| **License** | MIT |
|
|
| **Langage** | TypeScript / Next.js / Bun |
|
|
| **Étoiles GitHub** | 34 618 ⭐ |
|
|
| **Catégorie** | [[cat-deployment\|Deployment & PaaS]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Dokploy** est un **PaaS self-hosted** apparu en 2023 qui monte très vite (34k+ étoiles). Sa promesse est **la même que Coolify** : remplacer Heroku/Netlify/Vercel sur votre propre infra, mais avec une stack technique plus moderne et quelques choix différenciants.
|
|
|
|
Le différenciateur clé : **Dokploy utilise Traefik nativement** comme reverse proxy par défaut, ce qui le rend très **interopérable** avec d'autres services Docker de l'homelab (les labels Traefik des autres stacks sont respectés). L'UI est **construite en Next.js + Bun** — rapide, réactive, avec un mode sombre/clair soigné. Le support **Docker Swarm** est **de première classe** : un seul control plane Dokploy orchestre plusieurs nœuds (VPS, dédiés, mini-PCs) comme un cluster.
|
|
|
|
Dokploy gère aussi bien les **applications** (git push, Docker, Dockerfile) que les **bases de données** (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, KeyDB, RabbitMQ) avec **backups S3** automatiques. Le **template store** propose des one-click deploys (WordPress, Ghost, Plausible, Uptime Kuma, etc.). Un **système de plugins** permet d'étendre l'UI.
|
|
|
|
**Public cible** : **développeurs** qui veulent un PaaS moderne sans les limitations de Dokku, **équipes DevOps** gérant plusieurs serveurs, **homelabbers** qui sortent de docker-compose à la main. Pour des déploiements plus "PaaS-as-a-Service" style, voir [[app-coolify]] ; pour un mini-Heroku CLI, [[app-dokku]] ; pour un app store orienté utilisateurs finaux, [[app-runtipi]].
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
dokploy:
|
|
image: dokploy/dokploy:latest
|
|
container_name: dokploy
|
|
restart: unless-stopped
|
|
ports:
|
|
- "80:80" # HTTP / Traefik
|
|
- "443:443" # HTTPS / Traefik
|
|
- "3000:3000" # UI Dokploy
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
- ./data:/root/.dokploy
|
|
- /etc/dokploy:/etc/dokploy
|
|
```
|
|
|
|
> ⚠️ Le socket Docker est nécessaire (lecture seule). **Ne jamais exposer Dokploy directement sur Internet sans auth devant** (UI interne par défaut).
|
|
|
|
### Installation manuelle (script officiel)
|
|
|
|
```bash
|
|
# Script officiel (Debian/Ubuntu/RHEL)
|
|
curl -sSL https://dokploy.com/install.sh | sh
|
|
# UI accessible sur http://IP:3000
|
|
# Premier compte = admin
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
1. **DNS wildcard** : créer un `A`/`AAAA` `*.apps.example.com` → IP du serveur
|
|
2. **Traefik intégré** : Dokploy provisionne automatiquement Traefik avec ACME (Let's Encrypt)
|
|
3. **Connecter un provider Git** (GitHub, GitLab, Gitea, Bitbucket) — push = deploy
|
|
4. **Créer un projet / application** : choisir le type (Node, Python, Go, Dockerfile, Docker Compose), branch, build command
|
|
5. **Ajouter un cluster Swarm** : onglet Clusters → ajouter des workers (Dokploy génère la commande d'agent)
|
|
6. **Provisionner des bases de données** depuis l'onglet Databases, configurer les **backups S3**
|
|
7. **Templates** : onglet Templates → one-click deploy d'apps populaires (Plausible, Ghost, WordPress...)
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **Coolify** — leader du marché, plus mature, plus de features intégrées
|
|
- **Dokku** — mini-Heroku en CLI, plus âgé, stable, mais sans UI web équivalente
|
|
- **CapRover** — PaaS sur Swarm, plus ancien, UI moins moderne
|
|
- **Runtipi** — app store "user-friendly", moins orienté développeurs
|
|
- **Hetzner Coolify** — Hetzner propose un template Coolify pré-installé sur ses CX
|
|
- **Railway / Render / Fly.io** — PaaS managés payants, équivalents cloud
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- **Activer l'authentification 2FA** sur le compte admin Dokploy
|
|
- **Protéger l'UI** (UI par défaut non exposée) derrière un VPN ou un reverse proxy (Authelia/Authentik)
|
|
- **TLS obligatoire** : Traefik force HTTPS sur toutes les apps déployées
|
|
- **Limiter l'accès au socket Docker** : isoler Dokploy sur un hôte dédié
|
|
- **Auditer les templates** avant déploiement one-click (les templates communautaires sont du code arbitraire)
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Documentation officielle](https://docs.dokploy.com/)
|
|
- [Dépôt GitHub Dokploy/dokploy](https://github.com/Dokploy/dokploy)
|
|
- [Discord Dokploy](https://discord.gg/dokploy)
|
|
- [Site officiel](https://dokploy.com/)
|
|
- [Templates communautaires](https://github.com/Dokploy/templates)
|
|
|
|
## 🔗 Pages Liées
|
|
|
|
- [[cat-deployment]]
|
|
- [[app-coolify]]
|
|
- [[app-dokku]]
|
|
- [[app-traefik]]
|
|
- [[app-portainer]]
|
|
- [[cat-docker]]
|
|
- [[securisation-home-lab]]
|
|
- [[recettes-docker-compose]]
|