8

I just finished setting up a Dokku-based infrastructure, but i'm curious about how to scale it. I followed this tutorial by Digital Ocean, but there's not mention of HA or scalability.

Is it possible to load balance dokku instances? How to provide HA for this kind of docker-based infrastructure? Should i use Deis instead, or wait for Flynn to get release? Do you guys recommend any good books on this topic?

vinnylinux
  • 171
  • 1
  • 1
  • 5
  • How complex does the load balancing need to be here? Can it simply be IP and port based balancing for load purposes, or is there additional logic that needs to be applied? – theterribletrivium Oct 27 '14 at 22:48

3 Answers3

13

Dokku maintainer here.

Providing a custom scheduler - like what software such as Flynn or Nanobox provide - is unlikely to happen. Instead, we are going to support integrating with existing solutions such as ECS, Kubernetes, and Nomad. At the moment, we have a few HA options under development which utilize the plugin architecture to provide alternative schedulers for Dokku.

Both methods currently work, though which you choose and how you integrate them with your infrastructure depends on what your needs are. Feel free to join us on Slack/IRC to help guide future development of each integration.


Aside, the Deis support provided to Dokku was fairly minimal, and mostly went to shared tooling (herokuish and some of the app building aspects). There were no other ties between the two projects, and no existing ties between Dokku and Hephy Workflow (though we wish the project well!). We encourage folks to use the best solution to their problems, whether thats Dokku, Flynn, Deis, Heroku, or any other platform.

  • are there any news regarding multi-host horizontally scaling dokku setups? – Roberto Andrade Dec 02 '22 at 08:01
  • I'm experimenting deploying this into an AWS Lightsail instance (VPS-like service) but would like to move it to Lightsail Containers (which is an abstraction on top of ECS) to host both the core dokku (hopefully in a load balanced, multi-container setup) as well as deploy a custom scheduler in order to launch the apps as separate Lightsail Containers since they don't provide access to either run the container in privileged mode or DinD via exposed docker host socket. – Roberto Andrade Dec 25 '22 at 17:24
3

Dokku (as stated in the docs) doesn't do:

  • Multi-host. Not a huge leap, but this isn't the project for it. Have a look at Deis.
  • Multitenancy. It's ready for it, but again, have a look at Deis.
  • Client app. Given the constraints, running commands remotely via SSH is fine.

You might want to look at other multi host solutions for scaling dokku:

Or build it yourself using CoreOs

Gekkie
  • 290
  • 3
  • 18
3

Update for 2019:

Hephy Workflow is a fork of Deis Workflow. This is likely the most logical answer to the question at the time of this edit.

Deis is no longer a valid answer (and hasn't been for a very long time). Deis was deprecated in favor of a newer platform called Deis Workflow, which was a PaaS similar to Deis built upon Kubernetes. But Deis Workflow has also been deprecated.

In addition to Hephy there is also Flynn. But I don't know the status of that project. The links are dead. But I'll leave the original answer below.


Dokku is actually partnering up with OpDemand and Deis to help provide a clear upgrade path to those who want multi-host (and vice versa). See http://deis.io/deis-sponsors-dokku/ and http://progrium.com/blog/2014/10/28/deis-breathes-new-life-into-dokku/.

Deis will give you:

  • A number of routers to load balance your instances.
  • Commands to scale the instances (much like Heroku).
  • An architecture that requires you to run on 3 or more hosts, gaining you some fault tolerance and high availability out of the box.

So to answer the question, the more "official" way will soon be to setup and use Deis when coming from a Dokku world.

Andy Shinn
  • 4,211
  • 8
  • 40
  • 55
  • 1
    Is this still relevant? – mike james Jul 26 '16 at 11:25
  • Both links are dead – kbuilds Mar 27 '19 at 18:17
  • Unfortunately, this answer is no longer relevant. Original Deis is dead. It became Deis Workflow which was a PaaS built upon Kubernetes. But Deis Workflow is also dead. I'll edit the answer to clarify. It's too bad we can't remove the checkmark from accepted answers as this isn't a valid answer any longer. – Andy Shinn Mar 27 '19 at 19:17