Set Up Dokploy on AlmaLinux 10 and Route the Panel

Dokploy on AlmaLinux 10 gives you a self-hosted deployment platform for Docker workloads with a modern web panel, built-in Traefik routing, database and service support, and Docker Swarm orchestration. It is a strong fit when you want a lightweight PaaS-style experience on your own server without depending on a managed control plane.

In this guide, we rebuild a fresh AlmaLinux 10.1 server on Shape.Host, verify the current Dokploy release from the official project, install Docker from Docker’s official repository because Dokploy’s bundled Docker path does not support this AlmaLinux build cleanly, install Dokploy 0.28.6, route the panel through Traefik on tutorials.shape.host, and validate the running platform from both the terminal and a browser.

What Is Dokploy?

Dokploy is a self-hosted deployment platform designed around Docker and Docker Swarm. It gives you a web interface for applications, databases, routing, and infrastructure management while still running on servers you control. That makes it appealing for teams or individuals who want simpler app deployment flows without abandoning their own infrastructure.

Versions Used in This Tutorial

Component Version Verified Source
AlmaLinux 10.1 Fresh Shape.Host restore and /etc/os-release check
Dokploy 0.28.6 Latest GitHub release at install time
Docker Engine 29.3.0 Installed from Docker’s official repository
Docker Compose 5.1.0 Installed from Docker’s official repository
Traefik 3.6.7 Installed by Dokploy for routing
Database stack PostgreSQL 16 and Redis 7 Installed by Dokploy as part of the platform stack

Why Use Dokploy on AlmaLinux 10?

  • AlmaLinux 10 gives you a modern RHEL-compatible base with long support windows.
  • Dokploy bundles a clean Docker Swarm-based platform model that is easy to understand and operate.
  • Its built-in Traefik layer makes it practical to publish apps and panel routes on real hostnames.
  • A dedicated VM keeps the control plane, deployment logic, and app workloads on infrastructure you manage.

Prerequisites

  • A fresh AlmaLinux 10 server
  • Root or sudo access
  • A hostname pointed to the server IP, in this example tutorials.shape.host
  • At least 2 vCPU, 4 GB RAM, and 50 GB storage
  • Ports 80, 443, and 3000 available

1. Verify the Operating System

Start by confirming that the rebuilt server is actually running AlmaLinux 10.1.

cat /etc/os-release
AlmaLinux 10.1 os-release output on the Dokploy tutorial VM
Fresh AlmaLinux 10.1 deployment used for the Dokploy installation.

2. Install Docker from the Official Repository

On this tested AlmaLinux 10.1 server, Dokploy’s installer fell back to Docker’s convenience script and that helper returned Unsupported distribution 'almalinux'. The reliable AlmaLinux path is to install Docker yourself from Docker’s official CentOS or Enterprise Linux repository first.

dnf -y install dnf-plugins-core curl ca-certificates
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker

docker --version
docker compose version

On the live Shape.Host deployment, that resulted in Docker Engine 29.3.0 and Docker Compose 5.1.0.

3. Install Dokploy with an Explicit Advertise Address

The Dokploy installer on this server also needed an explicit advertise address because it could not discover a private one automatically. For this deployment, the public server address was used successfully.

export DOKPLOY_VERSION="v0.28.6"
export ADVERTISE_ADDR="51.89.69.216"

curl -fsSL https://dokploy.com/install.sh | sh

After the install completes, Dokploy tells you to access the panel on port 3000. You can confirm the first redirect locally with:

curl -I http://127.0.0.1:3000/

On the validated AlmaLinux run, Dokploy redirected the first request to /register, which is the expected initial panel flow.

Docker and Dokploy installation on AlmaLinux 10
Docker installation from the official repository followed by Dokploy deployment on AlmaLinux 10.

4. Check the Platform Services

Dokploy uses Docker Swarm and deploys its own platform services. Validate the service list and running containers before adding the public hostname route.

docker service ls
docker ps --format '{{.Names}}\t{{.Image}}\t{{.Status}}'

On this deployment, Dokploy brought up:

  • dokploy as the main panel service
  • dokploy-postgres on PostgreSQL 16
  • dokploy-redis on Redis 7
  • dokploy-traefik as the public routing layer

5. Set the ACME Email and Route the Panel on tutorials.shape.host

Dokploy’s default Traefik config used test@localhost.com for ACME on this server, so that was updated first to match the tutorial workflow. Then a file-provider route was added for the panel hostname.

sed -i 's/email: test@localhost.com/email: contact@shape.host/' /etc/dokploy/traefik/traefik.yml
docker restart dokploy-traefik

cat >/etc/dokploy/traefik/dynamic/tutorials-panel.yml <<'EOF'
http:
  routers:
    dokploy-panel-http:
      rule: Host(`tutorials.shape.host`) && PathPrefix(`/`)
      service: dokploy-panel-service
      entryPoints:
        - web
      middlewares:
        - redirect-to-https

    dokploy-panel-https:
      rule: Host(`tutorials.shape.host`) && PathPrefix(`/`)
      service: dokploy-panel-service
      entryPoints:
        - websecure

  services:
    dokploy-panel-service:
      loadBalancer:
        servers:
          - url: http://dokploy:3000
        passHostHeader: true
EOF
Dokploy panel route configured for tutorials.shape.host on AlmaLinux 10
Dokploy panel route configured on tutorials.shape.host through Traefik’s dynamic file provider.

6. Validate the Local Panel and the Public Route

Use these checks to confirm both the base panel and the routed hostname:

curl -sI http://127.0.0.1:3000/ | grep -E '^(HTTP/|Location:|Server:)'

curl -sI --resolve tutorials.shape.host:80:127.0.0.1 \
  http://tutorials.shape.host/ | grep -E '^(HTTP/|Location:|Server:)'

curl -skI --resolve tutorials.shape.host:443:127.0.0.1 \
  https://tutorials.shape.host/register | grep -E '^(HTTP/|Location:|Server:)'

On the tested Shape.Host deployment, the local panel returned a redirect to /register, the hostname route returned an HTTP 308 Permanent Redirect to HTTPS, and the HTTPS panel page returned HTTP/2 200.

Dokploy service, route, and panel validation on AlmaLinux 10
Dokploy services, ACME email setting, panel route file, and final route validation on AlmaLinux 10.

7. Open the Browser and Complete the Initial Setup

Open https://tutorials.shape.host/register in a browser to reach the Dokploy registration page and complete the initial panel setup.

Dokploy registration page over HTTPS on tutorials.shape.host during the AlmaLinux 10 setup
Live browser validation of the Dokploy registration page on AlmaLinux 10.

Important SSL Note for This Shared Tutorial Hostname

On March 17, 2026, tutorials.shape.host had already hit Let’s Encrypt’s exact-set weekly issuance limit. Because of that, Traefik could route the panel correctly but could not obtain a fresh trusted certificate for this hostname during the test window. The HTTPS route still worked with the temporary certificate, and on a fresh hostname or after the rate-limit window resets, the same Traefik route should be able to obtain a normal trusted certificate automatically.

Troubleshooting Notes

  • If Dokploy reports that Docker installation is unsupported on AlmaLinux, install Docker manually from Docker’s official repository before running the Dokploy installer again.
  • If the installer cannot find a private IP address, export ADVERTISE_ADDR manually before running it.
  • If the panel works on port 3000 but not on the public hostname, verify the Traefik route file and confirm that tutorials.shape.host still resolves to the server IP.
  • If HTTPS serves a temporary or self-signed certificate, inspect docker logs dokploy-traefik for ACME validation or rate-limit errors.
  • If you want to validate the routed hostname directly from the server, use the curl --resolve checks from the validation section.

Conclusion

You now have a working Dokploy installation on AlmaLinux 10 with Docker Swarm, Traefik routing, and a live panel route on tutorials.shape.host. On this validated Shape.Host deployment, the installed Dokploy release was 0.28.6.

The next sensible steps are creating the first admin account, connecting your first project, and testing an application deployment through the Dokploy panel.