Bench Manager - [beta]

I find that in general, I have less problems running bench and git commands using the frappe user.

sudo su frappe
then run the commands you want

1 Like

@felix i’ve changed the user to frappe and it’s still giving the same error:

frappe@ip-172-31-37-46:~/frappe-bench$ sudo bench update
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/home/frappe/.bench/bench/cli.py”, line 40, in cli
bench_command()
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 1063, in invoke
Command.invoke(self, ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/home/frappe/.bench/bench/commands/init.py”, line 21, in bench_command
setup_logging(bench_path=bench_path)
File “/home/frappe/.bench/bench/utils.py”, line 294, in setup_logging
hdlr = logging.FileHandler(log_file)
File “/usr/lib/python2.7/logging/init.py”, line 913, in init
StreamHandler.init(self, self._open())
File “/usr/lib/python2.7/logging/init.py”, line 943, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 13] Permission denied: ‘/home/frappe/frappe-bench/logs/bench.log’
frappe@ip-172-31-37-46:~/frappe-bench$ sudo bench update
Traceback (most recent call last):
File “/usr/local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/home/frappe/.bench/bench/cli.py”, line 40, in cli
bench_command()
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 1063, in invoke
Command.invoke(self, ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/home/frappe/.bench/bench/commands/init.py”, line 21, in bench_command
setup_logging(bench_path=bench_path)
File “/home/frappe/.bench/bench/utils.py”, line 294, in setup_logging
hdlr = logging.FileHandler(log_file)
File “/usr/lib/python2.7/logging/init.py”, line 913, in init
StreamHandler.init(self, self._open())
File “/usr/lib/python2.7/logging/init.py”, line 943, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 13] Permission denied: ‘/home/frappe/frappe-bench/logs/bench.log’

you don’t need to use sudo even with whole easy install script. Your instance seems to have lots of permission errors because of that. if you were using easy script to install the whole thing then refer to https://github.com/frappe/bench where you can fresh install using frappe user without sudo

@ganas i had explained this in another post before. my instance is an ubuntu 16.04 instance hosted on AWS. i used the easy install script to install Erpnext. I chose production and did not install the frappe user as each time i ran the script: “python install.py --develop --user frappe”, the production script “sudo python install.py --production” fails at “init bench”. I did this multiple times before abandoning the effort to install the frappe user. I understand that ubuntu implemented a permission restriction in 16.04 and force the ubuntu user on all instances. I don’t know how true this is as i am a noob and trying to learn.

To test your assumption and show you proof, i will take down one of my demo instance and do a fresh install just so i can pull the log and show you the error when i attempt to install production after creating a frappe user

1 Like

I just test it on my ubuntu 14.04 virtual machine in production mood and it installed and worked flawlessly. I haven’t tried it on ubuntu 16.04.

@codingCoffee its really great app thanks, I’ll test it throughly.
quick notes:

  • In SPACE USAGE section, it should indicate the unit (e.g. kilobyte KB, Megabyte MB, Gegabyte GB …
  • is there a plane to do patch actions like backup, update,… etc multiple sites at one click

@Fred1, its still in the beta stage and we’re testing it, so develop it is.

@Mohammed_Redha thanks for helping out with the issues

@ganas, thanks a lot, @rmehta and @vishal have played an equally important role in developing the app, and it would be unjust to not tag them here !
Also, thank you for your feedback.
Regarding the SPACE USAGE section, yea, I think its a great idea, I’ll open an issue on github for now, and will incorporate it shortly.
About conducting batch actions, there doesn’t exist one yet, but yes that option could also be added.

2 Likes

@codingCoffee i’ve done several fresh instance installs and tried so many options from installing bench from scratch as root and successfully installing frappe user to running Ubuntu 14.04 but i get stuck at a particular point when trying to install bench-manager. For some reason when i run the script " bench get-app bench_manager GitHub - frappe/bench_manager: Frappe app for managing bench" it gets stuck at “Wrote js/item-dashboard.min.js - 7.66 KB”. I’ve run it several times on several fresh instances, attempting to install the bench manager app right after setting up my site for the first time but i still come up short.

@ganas I don’t know if the instance you’re running is local or cloud hosted but i haven’t had any luck getting it to run as you have. Again my intention in trying to install the bench manager is to help the development team should they require feedback from running it on a cloud instance so i’m happy to help if needed. ERPNext is a great app and I want to support the team behind it as best as i can.

I’m running it locally on virtual machine using production image from here https://erpnext.com/download.

Hey @flexy2ky ,
I too tried installing bench_manager from scratch in a docker container, and it works fine. I don’t know why you’re facing difficulties setting it up. However I haven’t used the easy install script, over the weekend I’ll give it a try and get back to you. Also in the meanwhile you could try setting up bench without the easy install script, manually or you could also give frappe-docker a try!

@codingCoffee Thanks for this innovation .It is going to solve so many issue for non developers community members.How will the issue of stashing or commit changes that is very common in updating will be handled and secondly can this Bench Manager be used to handle import of large data rather than going to the terminal .
Thanks
Fred

As of now bench_manager doesn’t support it. It could be added in the future.

I believe it shouldn’t be a problem. However if you do have such a use case, it would be helpful if you could give it a try just to be sure and give some feedback ! :smile:

@codingCoffee after several tries, i was able to successfully complete the installation of bench manager in my AWS instance. however, it’s not showing up on my website. Does it automatically show up or i’m supposed to switch my site to bench-manager.local to get it to show?

If you correctly followed the steps, then bench-manager will be bench-manager.local website.

if you are in production mode, then I suggest you use Multitenant Setup to switch between sites. refers to https://frappe.io/docs/user/en/bench/guides/setup-multitenancy

in your case, let say we going to put bench-manager.local on port 82, then the steps will be as follow:
bench config dns_multitenant off
bench set-nginx-port bench-manager.local 82
bench setup nginx
sudo service nginx reload

now you can access bench-manager.local website at
https://YourWebSiteURL:82

1 Like

@ganas i could have sworn when i first saw your mail that the original readme did not indicate that i should use a different port. I have now checked and confirmed that indeed no instruction was given to use another port. I will try that now and see if it works. I also advise that the readme is updated to include this information as this is vital. AWS instances use port 80 by default.

I know it doesn’t. but since Bench Manager requires to be in its own website to manage other websites on the server. then multi-tenant setup is one way to access different sites on the same server.

If you are planning to try products under development like in this thread (especially in this thread Bench Manager is meant for implementers not regular users), then I highly recommend reading all documents in https://frappe.io/docs/user/en this will give you better understanding for Frappe structure and inner workings.

@ganas

If you are planning to try products under development like in this thread (especially in this thread Bench Manager is meant for implementers not regular users), then I highly recommend reading all documents in What is Frappe Framework? this will give you better understanding for Frappe structure and inner workings.

I agree with this point. But you know every development needs diverse feedback from developers, implementers and end users alike to gauge the overall experience from all sectors in order to project what possible challenges every kind of user might face and fix before they encounter them. It’s on this basis that decided to participate in beta-testing the bench manager. I may not be an implementer (yet) but i have successfully set up a production instance for my company and a friend and this was made possible because ERPNext as a product already has a wide range of solutions to (almost) every kind of problems anyone might face. And so i thought contributing won’t be a bad idea too.

Maybe it’s too early for a noob like me to help test bench manager (following from your last statement) so i guess i’ll step back and let the pros do their thing and when it’s ready for full release i will jump in. Big ups to @codingCoffee and other developers for the amazing work you guys are doing.

2 Likes

hey bud, you seem to take things out of context, I’ve never said as a noob u shouldn’t try, all I said is: it is beneficial to equip yourself with the required knowledge. You will be a pro in no time as frappe framework is not that complicated.
I hope you were able to try the Bench Manager.

3 Likes

This works smoothly… Great work to the bench manager team. Would have loved if bench limit function can be added to the GUI section.

1 Like

Hello, Sorry to bother but i have e question:

I Installed Bench Manager, everything works fine, but when i make a back up of a site is shows that it completed succesfully. In Site Backup however the backup doesn’t show up.

Does anyone know how to solve that?

Grtz Bert

Hi! This project is still going on?
Since there were no more releases and little movement between their issues.

Thank you