Docker Swarm + Portainer: Frappe only, need ERPNext

I followed the installation instructions for Docker Swarm since I already had another container for another app running on my Digital Ocean droplet.

I now have a plain Frappe site running and I feel like I’m missing the instructions to get ERPNext installed with it. I logged in to get started, expecting to be able to add modules in and then realized ERPNext just straight up did not come with all that ERPNext configuration I thought I was prepping for.

In the Docker environment, it doesn’t seem I have access to bench or any of the other commands I’ve seen suggested for different approaches to installation.

I did a lot of troubleshooting to get this far and now have a successful Frappe site running, but I have no clues as to how to proceed from here! Is there one last installation manual I’m somehow missing? Did I fudge something to somehow not get ERPNext by following these instructions?

I appreciate the guidance :smiley:

1 Like

Can you send output of docker ps output?

If you followed this then INSTALL_APPS variable may be missing.

Check the new site creation operation frappe_docker/ at main · frappe/frappe_docker · GitHub

bench is combination of frappe/bench commands and some commands internal to frappe source code →

Certain bench commands are available, exec into the container and run bench --help from the ~/frappe-bench/sites directory itself.

Adding the INSTALL_APPS in my Portainer container worked perfectly! I’ve attached a screenshot of my Portainer settings in case anyone else comes through with the same question in the future.

I had to delete the old database and site folder under /var/www/html/sites/ first for the “add site” container to run, but after that, it went as expected!

I am still not finding this but it seems that I do not need it for now, so I’ll cross that bridge when I get to it!

exec into erpnext-python container to run bench helper commands.

I think you are in erpnext-nginx container

sites directory is common volume mounted in both containers.

Aha! This did it! Thank you so much for all your help today. I am sure I’ll be back around at some point with more questions but so far it looks like I have the software up and running and it’s time to learn the front-end elements.

Your post has helped me a lot thank you!

I reached the same stage (https access to Frappe not ERPNEXT) and added in the last step of Docker Swarm installation " Create new site job" as described in

Is this correct or I have to add this env variable in the " Deploy Frappe/ERPNext" step?

But the site never goes up.

I see you mentioned “I had to delete the old database and site folder” , I don’t have this path . How can I delete this from Docker Swarm ?


INSTALL_APPS variable is used to install list of apps on site, it is not name of the site.

set INSTALL_APPS=erpnext
It won’t work with

you need to exec into mariadb container and drop database.
you need to exec into erpnext-python container and delete the directory

Thank you. You are right, this is what I did but was just a typo.

So, I add this env variable in the last step “” Create new site job" not in the " Deploy Frappe/ERPNext" step. Correct?

yes that is correct.

1 Like

Thank you so much @revant_one for your help.

Actually I don’t know the commands to do this :cry: , it’s a fresh site so I will remove the two stacks “frappe-mariadb” and " frappe-bench-v13" and create them again. I will also delete all the unused volumes.

I guess this will lead to dropping the database and deleting the directory. Am I right?

yes, removing all stacks and volume will reset everything.

If you already have portainer use the ui to get into containers and execute commands.

Stacks > frappe-bench-v13 > Services section :

example exec into mariadb container:

1 Like

Thanks @revant_one this worked perfectly and I got two ERPNEXT sites up on my Docker Swarm.

And thanks @annedorko for raising the subject.

I’m interested to know how to use more nodes to scale up a multi tenant installation.

I’ve created two sites, both are up and running, but they don’t belong to the created stack “frappe-bench-v13” , is this ok ?


Containers are separate.
They’re connected by networks and volumes

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.