ERPNext.com Frappe Cloud Support Partners Foundation Frappe School

Single Server ( Multi bench) vs Multi Server (Docker Swarm )

Can someone help, I want to install multiple bench in docker the documentation is clear on single bench how do I add another bench

create 1st bench, install multiple sites.
create 2nd bench for …

Please I need directions or pointers to achieve this.
Thanks everyone

If you need version-12 and version-13, you’ll need to add two benches.

Single bench is easiest to get started for servers with very limited resources. No point in using it if your server has better resources available.

In case of multiple benches as well as multiple servers use Docker Swarm or Kubernetes setup.

Even if it is a single high performance server use docker swarm for multiple benches setup.

That way you get the portainer UI and a common traefik setup for allowing multiple services over 80/443 for multiple domain names. You can host frappe benches as well as other stacks using this setup.

Multi-bench vs Multi-server

Multi-bench

Bench is set of processes. Two benches means two instances of these processes.

In terms of Docker it means 2 docker-compose projects or 2 Docker Swarm stacks

In terms of Kubernetes it means 2 helm releases.

Multi-server

Instead of using 1 VM or HPC to host all benches, cluster of servers is used to host the processes.

In case of multi server setup separate the database, redis and files on separate server for better management.

4 Likes

Thanks
I need few days to get all resources on docker swarm rock and pointainer and all as there is no simple step by step straight forward erpnext docker guide only, on this process. I haven’t come across it searching through this forum

there is no guide.
if you want you can make one.

there are too many variables and options available in containers.

I’ve been looking into multi-bench and gave it a couple of tries on my end. However, I can not get past nginx configs for some reason. I have domain1.com pointing to vps1, domain2.com pointing to vps2. I figured if I can host multi benches on a single vps, then I can save a good amount of money, specially in the future. So I’ve created a new bench in vps1, created a sub.domain2.com site inside it, pointed sub.domain2.com to vps1 from the DNS and I even got an SSL to it, but for some reason, NGINX thinks it can’t serve it. Am I missing something?

My nginx.conf do seem to be using correct and different ports etc.

Share yamls and I can check them.
if you share ssh access I’ll configure.

if you’re using multi bench with nginx and not using docker swarm https://github.com/evertramos/nginx-proxy-automation/issues/145 it uses https://github.com/evertramos/nginx-proxy-automation for letsencrypt automation

for docker swarm use traefik and follow https://github.com/frappe/frappe_docker/blob/develop/docs/docker-swarm.md

Make sure you’ve named services with unique names because they are connected to same traefik network and service names under same network must not conflict.

1 Like

Thank you, and I might just do :slight_smile: I’d like to have the “know-how” so I can do this on my own in the future. For now, maybe you can see if Multi Bench Setup is missing anything etc…?

you’ve specific issue or post for this? the link you shared is not containerized setup.

can you create a post and share your configs if anyone can find anything wrong in your configs