Is Easy Install Script being phased out?

Wow, I see. Thanks for the detailed explanation. In this case, I think it’ll be important to look into how best Docker can be used to manage multi-tenant setups

I’m using docker for multiple deployments on same cluster. I’m using dns based multi tenency along with multiple benches.

I generally setup a staging and a production bench on same VPS. It is multi benches to accommodate staging branch and production branch of same app. Both benches/deployments can host multiple sites.

Port based multi tenency for LAN/WAN can also be setup now. If anything is missing put up an issue or forum post. You’ve tagged me on docker related post already!

1 Like

@gavindsouza ,

I understand the complications. But for the record, can I get a clearer answer:

Does Frappe consider the easy-install script deprecated, and it will no longer be maintained over time?

No, we don’t plan to maintain it for the long run. Like I said in the previous reply, containerised deployments FTW.

We may be able to extend the life of the script slightly if @abhishekbalam completes the PR though, maybe for just another version.

Gavin, this is an important shift in direction. It’s a big deal.

I understand it makes no difference to Frappe. Your company has the technical skills to continue supporting your customers, no matter what. And honestly, this change doesn’t impact people like me whatsoever. People who can manually install with ease.

But this is a big deal for many ERPNext users who rely on Easy Install.

I think this deserves a more official announcement, don’t you? This is going to surprise many people in the community. They need time to prepare.

Please make a formal announcement, Gavin. And keep it visible. I am surprised and hurt that @RWEMA_Aimable brought this issue to light, and not Frappe.

~Brian

3 Likes

Hmm… This is all starting to make sense now.

First they jack up the pricing for the cloud services:

Then they stop supporting the Easy Install method of setting up a system so that new users that cannot get through the huge learning curve of containerization installs will be forced to use the expensive cloud subscription services.

So now the message is clear…

“Newbies are not longer welcome. We only want advanced users so that we might get more contribution to the code base from them.”

That does not sound very inviting to new ERP system adopters.

Might you at least decided to support maybe just one distro like Debian because it is so slow to change it’s own releases. At least that would buy the user base some time to either hire people to help them with container type installs, or find a better solution. Being stuck with the only reliable install process to be using a containerized package leaves out the ability to easily even get other developers to work out adding new apps or even code features.

Since most of them come from people like me paying outside contractors to develop additional pieces to ERPNext, the I guess you have now crimped off that resource as well.

You guys could have planned this a bit better. This is just sad.

BKM

**EDIT - 08/31/2021 (13 days after original post) Please be aware this “may” not be the final word on simple install methods. As you can see further down this thread, @revant_one has offered to help me understand Docker containerized installs so that I might be able to write up a tutorial for them geared to the newest of ERPNext users and adopters. I have already spent some time researching how Docker works and all of the pros/cons to doing installs this way. I may be able to do this after all. Know that I am spending any free minutes I have between projects to learn all of this myself. Once I have it figured out, I will try a tutorial and we can see how it plays out for all the new users. In past tutorials I have gone to great lengths to explain every step along the way so the users that follow the instructions get a little bit of education on “why” a given step is done. This may not be possible with the Docker installs based on my current reading of the documentation. There are many complexities in Docker configurations that are not easy to explain (but generally easy to follow the steps). I am not accustomed to writing about something that I do not fully understand, but at this point I am more interested in getting something useful out to users and for myself. Still working on it. Patience is a virtue. Thanks. BKM

3 Likes

I feel containerized installations are easy for beginners to get started.

Once containerized it acts as a configurable unit that can be deployed wherever containers can run. All the build process that consumes a lot of memory and cpu is not done during installation. 1GB RAM + 1GB swap and 1CPU is enough to get started. That makes it cheapest and cost effective option available.

It is just the matter of making configurations for various cases available. I actively communicate with people on GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNext repo and try to improve the setup yaml(s) for as many use cases as possible.

From those interactions I’ve helped many beginners who know nothing much about self hosting. Many are 1 person startups who really can’t afford a lot. When I know I’m interacting with such case, I just help for free and improve frappe_docker to make it easy for the next such startup that lands there.
Already chances of failure for startups is very high. No access to ERP should not be the cause of failure!

People looking for FOSS will eventually get it hosted on their machines.
People looking for SaaS will mostly get it from frappecloud.

@bkm if you explore the containers (docker/podman) and write any how-tos I’ll help as much as I can. We can make things approachable for beginners.
Please write a manual for containers in your style. I can answer any of your queries about installation, backup/restore, custom apps, upgrades.

13 Likes

Containerized installation is always going to be the easiest and most reliable installation method for beginners. The effort that @revant_one and others have put into making Docker a reality is an enormously important step for making ERPNext more accessible to small shops. That’s the bottom line, and the conspiracy theories are missing the big picture.

4 Likes

@peterg While I agree with you, I think a big part of documentation regarding dependencies versions for each release would be greatly appreciated. In my experience regarding containerization, it can get really complex really quick.

Docker is not as beginner friendly as it’s out to be, just try do something that’s not already configured, and you’ll need to hire a devops orchestrator, and those do not come cheaply

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?

3 Likes

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.

1 Like

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

1 Like

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.

2 Likes

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.

3 Likes