Closed dl-lim closed 4 years ago
Hi, my environment already has an nginx reverse proxy and SSL certificates already managed.
How is the nginx setup?
If it is dockerized nginx+letsencrypt it works by adding specific environment variables and the existing docker nginx letsencrypt companion containers can be used. refer https://github.com/evertramos/docker-compose-letsencrypt-nginx-proxy-companion
If it is standard nginx running on host machine then exposed ports need to reverse proxy with standard nginx .conf
or sites-enabled
files
What is the best way to install only ERPNext? What is the purpose of frappe in all of this? Does one work without the other?
Frappe is the framework which is used to write ERPNext. It is like django or flask. For ERPNext to work, frappe is needed.
I'm going for the leanest approach with everything still working as it should. I suppose traefik isn't needed for my use case.
traefik is required if you don't already have a reverse proxy / ingress. If you already have nginx, traefik is not required.
I looked at the multi-bench readme, and I suppose that is the closest to my use case. I am looking at the "Local deployment for testing" area and could not tell the difference between what ERPNext and Frappe is used for. In this case don't use any containers for nginx or traefik, directly expose port 80 of erpnext-nginx container to host machine and then reverse proxy that
When you install ONLY frappe, the site will only have smaller 3 step wizard, CMS and web portal available.
When you install ERPNext, the ERPNext modules are installed (e.g. Manufacturing, CRM, Selling, etc).
Note:
May be you'll have to name the site erpnext-nginx
refer https://discuss.erpnext.com/t/how-can-i-make-erp-available-in-lan-deployed-with-docker/65392/18?u=revant_one.
Nginx setup using https://github.com/jc21/nginx-proxy-manager. It manages SSL so I won't need erpnext or frappe to handle it.
I've setup using the instructions:
docker-compose \
--project-name <project-name> \
-f installation/docker-compose-common.yml \
-f installation/docker-compose-erpnext.yml \
-f installation/erpnext-publish.yml \
up -d
and
docker-compose \
--project-name <project-name> \
-f installation/docker-compose-common.yml \
-f installation/docker-compose-frappe.yml \
-f installation/frappe-publish.yml \
up -d
In either case, what are the ports that I'm supposed to forward? Can't access anything on port 80 or 8000. How do I even set ports in this case?
I was able to get it to work using the original docker-compose.yml though it uses traefik - not very familiar with traefik.. It certainly doesn't work well with my nginx proxy.
What is the most straightforward way to set up by just exposing ports on localhost? Also what are the frappe-workers for? I don't require heavy load balancing. Any way to disable this?
Many thanks! Great project but not very accessible for semi-beginners like me :)
If you're using Dockerized nginx-proxy-manager service you don't need to publish ports to host machine.
Share the network used by nginx-proxy-manager and add a new proxy host. Refer docker-compose docs, networks section.
During the new proxy host setup set the hostname to the name of container, i.e. erpnext-nginx and forward port 80 of that container.
If you need to have ports published on host machine, edit the *-publish.yml and set ports, refer docker-compose documentation for ports section.
Frappe workers are part of python rq workers, part of application. 3 workers and 1 scheduler is minimum required. Increasing the workers is needed to host multiple sites or run more background jobs.
Docker can be as simple as docker-compose up
, or as complex as hyper converged infrastructure. Most of the documentation is contributed by community. If you find anything missing or you think something can be improved, do send a PR.
Hi, I'm having the same issue with setting it up. I am an experienced developer but I not really into Docker CI/CD stuff.
I'm trying to setup this ERP for more than 2 weeks in my free time. First, there was an issue with the MariaDB password with standard docker-compose up and now it starts but it can't be accessed from browser.
I think it's a bit complicated to just start it with any default config. The documentation assumes that you are already familiar with bench, frappe, traefik, and all of that stuff. I really like the button 'Try in Play With Docker PWD'. Some people just want to play around and see it in action and since this is a pretty big app while docker PWD runs it only for a little while.
So with that in mind, I think it might be a good idea to have some sort TL;DR config which allows people to play around with it without spending their time trying to figure out those issues on their own.
I'm not trying to just criticize the project - because this is one of the best open-source projects I've seen and the number of stars it has shows that a LOT of people love it. It's more like that people are lazy and sometimes all you have to do is just be able to quickly run it locally and see if it fits your needs or not.
I think it might be a good idea to have some sort TL;DR config which allows people to play around with it without spending their time trying to figure out those issues on their own.
This is difficult. PWD environment is known. pwd.yml
file works there as expected.
In case of localhost it is not predictable, Linux, Mac, Windows. Again if there is VM on Mac/Windows, what type of vm, port-forwarding, many variables here.
pwd.yml
may work locally. Try this,
wget -c https://raw.githubusercontent.com/frappe/frappe_docker/develop/tests/pwd.yml
docker stack deploy -c pwd.yml pwd
docker swarm mode is required to use docker stack deploy
, To init swarm mode:
docker swarm init
# or if it fails due to multiple ip available on machine, replace 111.111.111.111 with appropriate ip available.
docker swarm init --advertise-addr 111.111.111.111
If it doesn't work, try to add 127.0.0.1 erpnext-nginx
this line to /etc/hosts
I could deploy it but the site-creator service won't start for some reason. Docker's docker service ls
shows that there is no replica for site-creator and actually only all redis services and traefik could start. Others aren't starting and I don't know why. There are no logs on them.
Hi, my environment already has an nginx reverse proxy and SSL certificates already managed.
What is the best way to install only ERPNext? What is the purpose of frappe in all of this? Does one work without the other?
I'm going for the leanest approach with everything still working as it should. I suppose traefik isn't needed for my use case.
I looked at the multi-bench readme, and I suppose that is the closest to my use case. I am looking at the "Local deployment for testing" area and could not tell the difference between what ERPNext and Frappe is used for.
Someone please enlighten me? :)