OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

One click installer

Open AbhisekOmkar opened this issue 10 months ago • 9 comments

In this commit, I've added a one-click installer script to automate the installation process for our project. The installer script executes the necessary commands to build the project, set up configurations, and start both the backend and frontend servers with a single click.

The installer script (installer.sh) performs the following steps:

  • Builds the project using make build
  • Sets up configuration files using make setup-config
  • Runs the project using make run
  • Starts the backend server using make start-backend
  • Starts the frontend server using make start-frontend

This one-click installer simplifies the setup process for users and enhances the usability of our project. Users can now easily install and run the project without manually executing each step.

Please note that the installer script assumes the presence of necessary dependencies such as Poetry and Vite. Users should ensure these dependencies are installed and properly configured in their environment before running the installer script.

If you encounter any issues or have suggestions for improvements, please let us know.

AbhisekOmkar avatar Apr 08 '24 09:04 AbhisekOmkar

You can add a new target in the make file named for example make opendevin or something similar where you include what you did in the install.sh it would be like this:

opendevin:
	@$(MAKE) -s build
	@$(MAKE) -s setup-config
	@$(MAKE) -s run

it's much simpler. But I'm not sure if it's necessary to add this because mainly make build wouldn't be something that we want to run each it in addition of make setup-config they are one time commands

dorbanianas avatar Apr 08 '24 09:04 dorbanianas

It would be great to have both the options of installing opendevin all the way through, or we can install opendevin in one click until we're done with the one-click installer in Pinokio.

AbhisekOmkar avatar Apr 08 '24 09:04 AbhisekOmkar

😅 but using install.sh to execute a makefile command just includes redundancy @rbren what do you think about that correct me if I'm wrong

dorbanianas avatar Apr 08 '24 09:04 dorbanianas

or should i make the changes in makefile ?

AbhisekOmkar avatar Apr 08 '24 09:04 AbhisekOmkar

Yeah but as we have build and setup-config are one time commands I don't think that it would be useful

dorbanianas avatar Apr 08 '24 09:04 dorbanianas

we can go for make opendevin as a one target

AbhisekOmkar avatar Apr 08 '24 09:04 AbhisekOmkar

@rbren what approach we should use ?

AbhisekOmkar avatar Apr 08 '24 09:04 AbhisekOmkar

I think that we can strive to make the installation process simpler, but I agree with @dorbanianas that the current proposed solution probably adds more complexity than it does benefit unfortunately

neubig avatar Apr 08 '24 11:04 neubig

we can add in make file then ? opendevin: @$(MAKE) -s build @$(MAKE) -s setup-config @$(MAKE) -s run

AbhisekOmkar avatar Apr 08 '24 12:04 AbhisekOmkar

@AbhisekOmkar sorry about that but I guess we can think of something else because there're so many ideas like doing a full setup from the python installation till the execution but adding all that would cause different issues that we are not supposed to handle 🙂, maybe working on a docker compose solution would be a nice thing at this point if you really wanna help 👌 thanks for your contribution 🙏!

Ps: for now I will close this PR if you need any help let me know

dorbanianas avatar Apr 08 '24 14:04 dorbanianas

I agree--let's close this PR. Packaging install and run into a single command is bad hygiene--there's a reason every README tells you to e.g. npm install and then npm run--you don't want to reinstall every time you start the app!

rbren avatar Apr 08 '24 14:04 rbren