top | item 28232495

(no title)

mradmin | 4 years ago

My anti-kubernetes setup for small single servers is docker swarm, portainer & traefik. It's a setup that works well on low powered machines, gives you TLS (letsencrypt) and traefik takes care of the complicated network routing.

I created a shell script to easily set this up: https://github.com/badsyntax/docker-box

discuss

order

kawsper|4 years ago

I have a similar setup, but with Nomad (in single server mode) instead of docker swarm and portainer. It works great.

stavros|4 years ago

What does Nomad do for you, exactly? I've always wanted to try it out, but I never really got how it works. It runs containers, right? Does it also do networking, volumes, and the other things Compose does?

ianlevesque|4 years ago

Nomad is so perfect for this. I've been meaning to blog about it somewhere.

GordonS|4 years ago

Don't suppose you're able to point to a simple Nomad config for a dockerised web app, with a proxy and Let's Encrypt?

GordonS|4 years ago

This is exactly how I deployed my last few projects, and it works great!

The only things I'd change are switching to Caddy instead of Traefik (because Traefik 2.x config is just so bewilderingly complex!), and I'm not convinced Portainer is really adding any value.

Appreciate you sharing your setup script too.

mradmin|4 years ago

Agree the traefik config is a little complex but otherwise it works great for me. About using portainer, it's useful for showing a holistic view of your containers and stacks, but I also use it for remote deployment of services (Eg as part of CI/CD). I'll push a new docker image version then I'll use the portainer webhooks to redeploy the service, then docker swarm takes over.

dneri|4 years ago

Absolutely agree, I switched to Caddy recently and the configuration is considerably easier than Traefik. Very simple TLS setup (including self signed certificates).

mrweasel|4 years ago

That’s still a bit more than I feel is required.

My problem is in the two to eight server space, but networking is already externally managed and I have a loadbalancer. It’s in this space I feel that we’re lacking good solution. The size is to small to justify taking out nodes for a control plane, but big enough that Ansible feels weird.