Zpět na domů

Dokploy: instalace platformy Docker Swarm

Dokploy — platforma pro nasazení Docker kontejnerů a GitHub projektů na Linux serverech. Popisuje instalaci přes skript: kontrola portů, inicializace Swarm, spuštění Postgres/Redis/Traefik. Vhodné pro middle/senior specialisty se zaměřením na automatizaci.

Rychlé nasazení Dokploy: Docker a GitHub projekty
Advertisement 728x90

# 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é.

Google AdInline article slot

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:

Google AdInline article slot
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 dnsrr pro 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:

Google AdInline article slot
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 :80 pro diagnostiku.
  • V LXC/Proxmox: automatická aplikace dnsrr režimu.
  • Swarm se neinicializuje — nastavte ADVERTISE_ADDR ručně nebo DOCKER_SWARM_INIT_ARGS pro 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

Advertisement 728x90

Číst dál