Of course. That has always been true for the Easy Install script too. The discussion here is about quick deployments for “normal” use cases. If you want to do something customized, you’ll need somebody who knows how to do it. That’s true for docker installations, and it’s true for non-docker installations, no?
I have personally found the step-by-step install quite easy (that is how I have always installed frappe), just install the prerequisites (git, MariaDB, NGINX, Python3, Node, Redis, Wkhtml2pdf…) and then clone and install bench, init bench, setup requirements, setup config and done.
Anyone from the community finds it hard?
That’s what I always did, too. It wasn’t hard at all, until it was impossible.
I run a production/staging server on Debian and a development server on a macOS laptop. At some point, manual installation on macOS just stopped working. It has something to do with permissions conflicts in a pip library, I think, but I’m really not sure. I spent three days banging my head at it with zero progress. I’m far from an expert in server deployment, but I was completely stuck.
I had avoided the docker deployment because I’ve never really used docker before and didn’t want to learn a new system. I’m so glad I gave it a shot. I followed the instructions on the github page, and I had a multi-tenant development system up and running in less than an hour.
Hi @peterg
Could you pls reference the exact part of the documentation that guided you through setting up a multi-tenant install ?
Thanks
I don’t think I did anything special. DNS multitenancy worked right out of the box for me following the development instructions. I haven’t tried production, but from the outside it certainly looks like it was built for dns multitenancy too.
Have you posted the problem you hit anywhere? Happy to take a look.
Hi @peterg
Thanks though I guess what you referenced is for development and not production. I encountered issues while trying to setup a multi-site install and had a conversation with @revant_one regarding this:
As you can see from the thread, there was an additional layer of complexity involved. I eventually had to move to an Easy Install setup. I’m happy to learn if there’s clear step-by-step directions on how to achieve a multi-site/multi-tenant Production setup with Docker (including SSL setup if any additional steps are needed)
Thanks
@revant_one I must applaud your commitment to the project. I am in the middle of pushing an upgrade from a much older version to v13.8 over the next 2 months. I promise I will begin working out how to get containers working from a layman perspective. It will not be a rapid document development project at my end just yet while I am focused on a large client upgrade. However, I will start devoting some weekend time to the task.
It would not be easy for me without a resource like yourself. Even then I cannot promise it to be easy. If you can answer questions by PM on occasion while I work on this, then I will try to have something working as soon as I have figured out enough of the process.
Thanks again for the offer of help.
BKM
I agree with this. The learning curve is not on installing frappe-docker but on the Docker itself. I tried 2-3 times to install frappe-docker in a never-have-docker-installed-before computer but always failed. And since I’m not familiar with Docker, I have to re-learn from start.
The problems is the matching of easy-install script, version used, distro used, and familiarity to computer (many users are business users, not techie).
During ERPNext v10-11 I ‘almost’ always successfully manually installed in Ubuntu and Mac. But for v12 never succeed. My colleague always successfully install using easy-install.
Then I switch to CentOS. At first I got problem, but then I found a guide (which also needed to tinker with). From then on I always use CentOS (now switch to AlmaLinux) have my own tinkered guide. And it was always successfull.
And I am one of those business user…
In that thread, you’re talking about installing multiple benches on a single server, which is black-belt level sysadmin stuff. Comparing that to the single bench Easy Install script isn’t exactly apples to apples.
I’m currently installing a single bench, multi-tenant production setup. I’ll post back when I’m done.
Would love to try this. Looking forward to your method. Never tried docker but no harm in trying.
And here it is! Containerized multi-tenant production:
This took about 50 minutes from start to finish. When I say “start to finish”, I mean exactly that: from when I decided to start trying to when I was completely done. It would have been a lot quicker if I didn’t have to wait for DNS to propagate. Of those 50 minutes, about 10 of them were active. The rest were waiting for things to download.
I loaded up a fresh VPS instance (Ubuntu 20), installed docker and docker-compose using instructions I googled, and from there I did what the frappe_docker README file told me to do. That’s it. I have nearly zero experience with docker. This is literally the second time I’ve used it. The first was setting up the same container for development.
I’m sure there are pitfalls that I was lucky to miss, but this is by far the easiest and cleanest way to install ERPNext that has ever existed. If anyone hits problems, we can troubleshoot and improve the documentation together.
This is the future. Scripts are dead.
Here’s my take on this.
Several of the people who’s replied (@revant_one, @peterg, @rmehta, myself) are experienced, veteran software developers. We’ve been writing code for decades. We know half a dozen languages. We have a knack for learning and adopting new technologies.
But overall in the business software community, we are a minority. Does it matter that I feel Installing ERPNext is easy? Probably not. My experience is atypical.
For everyone else, the experience is much different. My evidence is this:
- Try searching the forums for the words “install”, “installation”, or “upgrade”.
- Read the articles, and see what the typical User Experience has been.
I love Docker. It’s portable, and stable, and incredibly useful (once you’ve learned it). The work @revant_one has done is fantastic.
But I have -low- confidence that I can email this link to a random System Administrator in Seattle, and believe they will successfully get ERPNext online, configured for their environment, and fully functional.
Later, what happens when they’re prepared move into Production? Manual install is the last-remaining option, yes? Again, not the easiest thing for the average user to learn.
I would prefer to see ERPNext become more-inclusive. Some of you feel that removing Easy Install, and reducing the supported installation options from 3 to 2 accomplishes that.
I disagree.
Also, if you’re going to deprecate something this well-known? Announce it with confidence. Write about it, explain your justification, and be transparent about it.
Sometimes it’s not what you say or do.
But rather how you say or do it.
I doubt I’d be nearly this upset, if this change had been announced professionally. Instead of being discovered by accident by a forum user, when they happened to examine the comments on a README file.
At times on these forums, developers have dismissed user complaints with the phrase “Send a pull request”. Many have argued that this response is simplistic and unhelpful, and to some extent at least I agree. Maintainers are cautious about merging third-party code into master, and it’s hard for individuals to invest resources in a moving target.
Here, however, is a great opportunity for community involvement. If users feel that the Easy Install script is worth the development effort required to maintain it, all it will take is time and/or money.
That’s a really great point. And I agree.
Forking the easy install script, and maintaining separately, is absolutely a viable option.
Again, I ask for specific steps outlined in the documentation for multi-site production setup. I’m not saying it’s not there… I just need you to help point it out as I’ve gone over the pages a number of times and seem to be missing it!
Thanks
Much as I’m a hard-core fan of Frappe and the Team, I have to admit that this is one area that needs to be looked into seriously. Up till today, I’m not sure there’s been any official announcement about the Chat feature… Some organizations were actively using it for their internal communications and suddenly… poof! …it was gone. Same thing with the Cordova Mobile Apps… Users just suddenly realized they were no longer working!
Really hope we can work out a more effective communication system when it comes to things like this
Cheers
At least the loss of Web Forms was announced in Release Notes.
Granted, their successor (DocType Layouts) are essentially broken. And are not nearly 1:1 in terms of features.
But it was announced.
There’s no trick to it. When you get to the step on this page labeled “create ERPNext site”, do it twice: once for your first site, and a second time for your second.
That’s exactly what I tried to do! If you go through the thread I referenced, the issue was really at the point of trying to add the new site to the proxy…