# Dokploy: nasazení Docker kontejnerů prostřednictvím open-source platformy
Dokploy — open-source nástroj pro automatizované nasazení aplikací v Docker kontejnerech a GitHub repozitářích. Platforma využívá Docker Swarm, Traefik pro směrování a databáze PostgreSQL/Redis. Instalace vyžaduje Linux server s minimem 2 GB RAM a 30 GB disku, kontroluje dostupnost portů 80, 443, 3000.
Systémové požadavky a příprava
Dokploy byl otestován na distribučích:
- Ubuntu 24.04 LTS, 23.10, 22.04 LTS, 20.04 LTS, 18.04 LTS
- Debian 12, 11, 10
- Fedora 40
- CentOS 9, 8
Server musí mít nejméně 2 GB operační paměti pro sestavení Docker obrazů a 30 GB diskového prostoru. Porty 80 (HTTP Traefik), 443 (HTTPS Traefik), 3000 (webové rozhraní) musí být volné — instalační skript skončí chybou, pokud jsou obsazené.
Příprava:
- Přejděte do root režimu:
sudo -i. - Zastavte služby na portech 80, 443, 3000.
- Ověřte přítomnost Dockeru nebo skript nainstaluje verzi 28.5.0.
Skript automaticky detekuje verzi (výchozí latest, podpora canary/feature přes DOKPLOY_VERSION), kontroluje prostředí (Linux, ne kontejner, ne macOS) a inicializuje Docker Swarm.
Proces instalace přes skript
Hlavní způsob — jednoriadkový příkaz:
curl -sSL https://dokploy.com/install.sh | sh
Skript provádí následující kroky:
- Kontroluje root práva a volné porty pomocí
ss -tulnp. - Instaluje Docker, pokud chybí.
- Detekuje Proxmox LXC kontejnery a aplikuje
--endpoint-mode dnsrrpro kompatibilitu. - Určuje IP adresu serveru (IPv4/IPv6 přes ifconfig.io, icanhazip.com, ipecho.net) pro
ADVERTISE_ADDR. - Inicializuje Docker Swarm:
docker swarm init --advertise-addr <ip>. - Vytváří overlay síť
dokploy-network.
Klíčové fragmenty skriptu:
# Určení verze
detect_version() {
local version="${DOKPLOY_VERSION:-latest}"
echo "$version"
}
# Kontrola Proxmox LXC
is_proxmox_lxc() {
if [ -n "$container" ] && [ "$container" = "lxc" ]; then
return 0
fi
if grep -q "container=lxc" /proc/1/environ 2>/dev/null; then
return 0
fi
return 1
}
Po Swarm se vytvářejí služby:
docker service create \
--name dokploy-postgres \
--network dokploy-network \
--env POSTGRES_USER=dokploy \
--env POSTGRES_DB=dokploy \
--env POSTGRES_PASSWORD=amukds4wi9001583845717ad2 \
postgres:16
Analogně pro Redis (redis:7) a hlavní kontejner Dokploy s montováním /var/run/docker.sock, /etc/dokploy, portem 3000 (host mode).
Nastavení Traefik a spuštění
Traefik (v3.6.1) se spouští odděleně:
docker run -d \
--name dokploy-traefik \
--restart always \
-v /etc/dokploy/traefik/traefik.yml:/etc/traefik/traefik.yml \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-p 80:80/tcp -p 443:443/tcp -p 443:443/udp \
traefik:v3.6.1
Připojuje se k dokploy-network. Po 15 sekundách čekání je dostupné rozhraní: http://<ip>:3000.
Možné problémy:
- Chyba na obsazených portech — použijte
ss -tulnp | grep :80pro diagnostiku. - V LXC/Proxmox: automatická aplikace dnsrr režimu.
- Swarm se neinicializuje — nastavte
ADVERTISE_ADDRručně neboDOCKER_SWARM_INIT_ARGSpro vlastní puly (např.--default-addr-pool 172.20.0.0/16).
Funkcionalita po instalaci
Webové rozhraní na portu 3000 umožňuje nasazovat projekty z GitHub, spravovat kontejnery, nastavovat Traefik směrování. Platforma je zaměřena na self-hosted nasazení bez externích závislostí, integruje se s Docker Swarm pro orchestraci.
Výhody pro middle/senior DevOps:
- Automatická obsluha IP (IPv4/IPv6).
- Podpora vlastních Swarm argumentů.
- Minimální zdroje ve srovnání s plnohodnotnými PaaS.
- Open-source alternativa Coolify s fokusem na Docker.
Co je důležité
- Minimální požadavky: 2 GB RAM, 30 GB disk, Linux (Ubuntu/Debian/Fedora/CentOS).
- Povinné porty: 80, 443, 3000 — skript blokuje instalaci při obsazení.
- Docker Swarm: Autoinicializace s advertise-addr, podpora LXC dnsrr.
- Služby: Postgres:16, Redis:7, Traefik:v3.6.1, Dokploy:latest/canary/feature.
- Přístup: http://<server-ip>:3000 po 15 s.
— Editorial Team
Zatím žádné komentáře.