Dockerised ERPNext?

Is it permitted to discuss dockerisation of ERPNext on this board? I found one thread, but it was closed over a year ago. It contained a link to another thread but when I follow the link I’m told “Sorry, you don’t have access to that topic!”.

I have tried running a number of ERPNext dockers, but many of them won’t let me log into the application, instead displaying an Nginx screen telling me that nginx is not configured. This may be because I have to redirect port 80 to another port as port 80 is used by the UI on my server.

The dcoker image with which I’ve had most success is lukptr/erpnext7

However, running that docker, the about shows:
`Installed Apps

ERPNext: v9.0.6 (master)

Frappe Framework: v9.0.8 (master)`

Some facilities which are documented in the user manual do not appear to be present in the version I have running - perhaps they are a later addition.

When I attempt to do a bench update, I get the following output:
root@Tower:~# docker exec -it erpnext7 bash
root@0ff7ad4d3e0d:/home/frappe/frappe-bench# bench update
INFO:bench.utils:updating bench
INFO:bench.utils:git pull
Updating 282ba71…4e896b5
error: Your local changes to the following files would be overwritten by merge:
playbooks/develop/includes/mariadb_centos.yml
playbooks/develop/includes/mariadb_debian.yml
playbooks/develop/includes/mariadb_ubuntu.yml
playbooks/develop/includes/setup_mariadb.yml
playbooks/develop/includes/wkhtmltopdf.yml
playbooks/develop/install.yml
playbooks/develop/macosx.yml
playbooks/develop/templates/simple_mariadb_config.cnf
playbooks/develop/ubuntu.yml
playbooks/production/includes/setup_bench_production.yml
playbooks/production/install.yml
playbooks/production/templates/default_nginx.j2
playbooks/production/templates/frappe_selinux.te
vm/ansible/templates/mariadb_config.cnf
Please, commit your changes or stash them before you can merge.

I’m not sure whether it is safe to simply do a ‘git stash’, run the update and then ‘git stash apply’ again afterwards. Would this give me an up-to-date version of ERPNext?

Is anyone able to advise me, or recommend a better docker image which I can run? I do already have a mariadb docker running, so I should be able to cope with an ERPNext docker which doesn’t have mariadb integrated.

use this image

1 Like

Thank you for your response, it is much appreciated.

Anyway, I’ve tried building that - not convenient because Slackware on my server runs in a memory-resident disk, so having to add git and docker-compose, and then having to move all the build workspace around onto physical drives is not ideal.

So, I followed the instructions in the README.md and “docker-compose up -d” terminated after quite a lengthy process, with an error creating frappe:

======================================================
Creating mariadb …
Creating redis-queue …
Creating redis-socketio …
Creating redis-cache …
Creating mariadb
Creating redis-cache
Creating redis-socketio
Creating redis-socketio … done
Creating frappe …
Creating frappe … error

ERROR: for frappe Cannot start service frappe: driver failed programming external connectivity on endpoint frappe (900f5d9f69f23f0674f457bcef6fe7cba264d4cdc78e58b358269e96def26b22): Bind for 0.0.0.0:9000 failed: port is already allocated

ERROR: for frappe Cannot start service frappe: driver failed programming external connectivity on endpoint frappe (900f5d9f69f23f0674f457bcef6fe7cba264d4cdc78e58b358269e96def26b22): Bind for 0.0.0.0:9000 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
root@Tower:/boot/packages/frappe_docker#

=======================================================

It would be much more appropriate, for my system, to be able to load built docker images from the flash drive, like I do for my eight other docker containers, without the need to have docker-compose installed.

Added:
Ah, I see, port allocation 9000 conflicts with one of my other containers.

Hi @PeterB
Can you plz share your steps if it is done OK
Thanks
Maysaa

I gave up and started using this docker. It’s been working well.