ERPNext, NextCloud, docker

Hi everyone.
I’m new.I have made my old pc(running ubunru server 20.04) a local server which i use for learning and testing stuff out.
Following @revant_one I started learning docker, right now I’m trying to run ERPNEXT, Next cloud, Pihole, and a CUPS print server. I did the others but somehow i can’t make erpnext work, + when i try and install it my nextcloud breaks.
was wondering if anyone can guide a nextcloud +erpnext installation.

@Araskho , Docker installation is the easiest one . just pull the image and run it . and voila erpnext works .

Yeah I know but bot when you have other dockers running + you dont know what your doing there are problems.

each docker container must run on a different port . all your servers will be just fine . you can even install 50 erpnext app at the same time , each on different port

For container-based systems, usually the only way one application can break another is by overrunning http ports. What is the output of the command: docker ps

have a proxy setup that manages the domains and services. checkout dockerswarm.rocks

after that follow https://github.com/frappe/frappe_docker/blob/main/docs/docker-swarm.md

Man aside from this I would like to thank you for your fantastic posts and guides.

1 Like

deleted everything and tried erpnext docker alone, I get 404 on the lan ip:80/443.
Is the local env not usable for localnetworks or am i missing something?

Without knowing more about your setup, it’s difficult to troubleshoot networking issues. Do you have a container listening to 80/443 or a reverse proxy set up?

nope, just followed the guide here.

That part of the guide sets up the environment. Did you create a site once the bench was up and running?

Edited to add: I don’t think you’re going to be able to access a production setup via IP address on local network. Traefik, the reverse proxy that you set up by following Revant’s production guide, uses dns-based routing, so you need to access it via the SITE_NAME. Depending on your home lan setup, that will probably require editing your /etc/hosts file (or whatever is equivalent for your OS).

Doesn’t the sitecreator container take care of that?

Good question. I’m not familiar with how the site creator works. Previously, I believe you had to make the site manually, but perhaps that’s changed (or perhaps I was doing it wrong all along).

In either case, you probably won’t be able to access via IP over LAN, at least not without some further customization. Is the site accessible on the machine locally?

Have not tested, it has a ubuntu server installed. I use it to learn and test stuff before i run on vps. so can’t really check before enabling the gui and setup some stuff.
but i think the 404 on port 70 means that traefik is working.

I’m getting more and more confused by the second, I miss the easy install days.

You’re setting yourself up for a lot of difficulty with your current network arrangement, and I’m not sure it’d be any easier with a script-based/non-docker solution.

I hadn’t done a production install in a while, but I just tested now. You’re correct about the site creator. It handles site creation based on settings in the .env file, which is brilliant. On a clean Ubuntu 20.04 instance, I did only and exactly the following:

  1. git clone https://github.com/frappe/frappe_docker
  2. cd frappe_docker
  3. cp env-production .env
  4. (Edited .env, changing SITE_ NAME=demo.localhost and SITES=`demo.localhost` )
  5. docker-compose up -d

A few minutes later, I had a working production site. You probably do too, but production sites aren’t generally accessible by IP address. That’s not a docker issue so much as a function of how reverse proxies work. The routing is typically done via domain name, and if you just show up with an ip address the proxy doesn’t know where to send you.

You have a few different options, depending on your goals and resources:

  • skip the production setup and use a development setup. Development installations don’t use a reverse proxy, and as a consequence they’re much more easy to access on a local network
  • expose your server to the internet so it can be accessed with a proper domain name
  • edit the /etc/hosts file on your pc (not the server) to know that your.domain.com is supposed to point to 192.168.1.100 or whatever your server’s local ip address is.

I am sorry that it’s been frustrating, but you’re really jumping into the deep end here if you’re new to containers and networking. If you’re just looking to play around, development setups are much, much simpler. On the other hand, if you want to do a production setup on a server that is not publicly accessible, you’ll have to learn a bit about networking first. Revant has done an amazing job making this system seamless, but there are just some hard constraints involved in getting computers to talk to each other across a local network.

2 Likes

Thanks a lot.
I’m doing this so I have to learn new stuff so no worries there, just don’t know where to start.
will go back to normal install for now.
But I don’t get it why it is so simple for portainer, nextcloud, pihole etc and is so complicated for erpnext. maybe i learn why in the future
tnx

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