Dokploy / Dokploy/dokploy

High Availability and Traefik

Open
#2,939 10 comments 9 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
37.4k
Forks
3k
Avg merge
1d 3h
Merged PRs (30d)
73

Description

What problem will this feature address?

Hello Everyone,

So I've sort of fallen in love with this project, but one of my main gripes is a lack of support (or perhaps documentation?) for high availability.

I'm considering setting up a PR, or forking this project entirely and adding it as a main feature.

One of the main issues I encountered when trying to setup Traefik and getting it to work with my Docker Swarm is that the nodes and the manager need to share a private network, and not only that, that private network needs to be setup BEFORE you set up Dokploy. This is because there is a step where the advertise address for docker swarm is setup at the beginning of the setup script, and it must be advertising on this local network that you've created.

The second part is that the overlay network (dokploy-network) needs to be created after you've already joined your nodes to the swarm. I encountered an error where Traefik was giving me a Bad Gateway error because it couldn't access the containers on the other nodes, and that was because the overlay network wasn't being propagated to the other nodes for some reason.

Lastly, in order to get Traefik to work, you'll need to set up some form of Shared Storage for the configuration files. This is one of the hardest parts about setting up docker swarm, and GlusterFS is one of the main contenders in this case for doing that, but obviously that comes with a whole new consideration for managing a glusterfs cluster.

I think with a bit of careful consideration, we could modify the Swarm and setup process so that setting this up is a breeze just like the setup for Dokploy is already a breeze.

Any thoughts? Anyone wanna work on this with me in a fork? I'm a Typescript and Go Developer.

Describe the solution you'd like

Features to automatically setup Docker Swarm with proper configurations for a private network, perhaps even using Tailscale or something between nodes if they're on different VPS's with only public IPs. The ability to automate GlusterFS setup for shared storage between nodes, and set up Traefik as a service on multiple nodes.

Describe alternatives you've considered

Kubernetes

Additional context

No response

Will you send a PR to implement it?

Maybe, need help

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the setup script and the Docker Swarm configuration described in the issue, including private-network advertisement, overlay-network creation, and Traefik deployment. Investigate how shared storage would support configuration files. Done would require an agreed implementation scope and reliable multi-node high-availability setup, including validation across nodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.