Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nowhere exists complete installation guide #365

Open
lepidas opened this issue Sep 22, 2019 · 17 comments
Labels

Comments

@lepidas
Copy link

@lepidas lepidas commented Sep 22, 2019

There is no complete installation guide for apache, nginx for this nice project. I mean step by step from A - Z.
It's not very difficult to install but all projects have that stupid simple step by step guide.

Btw hi to all, that is a nice project-idea, I think it needs more attention and support.

@berrnd berrnd added the enhancement label Sep 22, 2019
@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Sep 22, 2019

Feel free to contribute one, I'm happy to link it then on https://grocy.info/links.

I would say, if you're little familiar with webservers in general (and use nginx), the notes on https://github.com/grocy/grocy#how-to-install are enough, as this is really not a special application from the technical perspective. Otherwise, grocy-docker or linuxserver/docker-grocy is popular for easy setup by using containers.

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

The "Alternatively clone this repository and install Composer and Yarn dependencies manually." is very much not adequate.

If you wanted to run a development version (the master branch) without knowledge of Composer & Yarn, it's pretty difficult. It requires not just "a bit of knowledge" about web servers, but requires some indepth knowledge of development tools also.

Even then, I had a load of trouble trying to build the project via a git clone & build method. I know you guys have got a Gitlab-CI thing going on, it would be easy enough to provide a development autobuild and instructions on how to install that (which would then standardise the method of install all the way from the development branch to the release zips)

@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Sep 22, 2019

I never said that running the master branch is possible "without knowledge of Composer & Yarn". But I still think https://github.com/grocy/grocy#how-to-install should be good to go if you've installed any PHP application before. Beyond that, some other "guides" can be found linked on https://grocy.info/links.

If I'm not so into webservers, I would maybe use the Docker approach (grocy-docker or linuxserver/docker-grocy). Or even grocy-desktop, if I use Windows and just want to use grocy.

But I repeat myself, and yes, documentation is in general missing for grocy. If you find it useful, maybe say thanks by contributing some guides.

I know you guys have got a Gitlab-CI thing going on

"You guys" is still for 99.9 % me and no, I have not - I use Visual Studio Code, open the folder of the checked out master branch and press one button to have a running PHP development webserver (that extension), beside having the Composer and Yarn dependencies up to date.

@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Sep 22, 2019

And, just to complete that: The rest of the "CI", including creating the release ZIPs, is currently just some (Windows Batch) scripts in the .devtools directory.

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

Apologies, "you" have a CI thing going on.

I'm not too experienced in CI, so I assumed it was Gitlab CI to build release packages, I see now that they are only .bat scripts.

Back onto topic, I pulled the linuxserver docker and reverse engineered how that's working, it's a reasonably simple to install once built. The trickiest thing is the different php-fpm's you have on different distro's, and configuring the right FPM parameters in the nginx file.

Example nginx files would definitely be helpful! I'll see if I can get one together.

@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Sep 22, 2019

Here is one, or here something pretty complete for Apache, or even here the running nginx/PHP-FPM config of the demo instance.

(Everything linked on https://grocy.info/links.)

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

Yeah, I agree, that's definitely adequate.

@gersilex

This comment has been minimized.

Copy link

@gersilex gersilex commented Sep 22, 2019

IMHO running the application should neither require setting up web or application servers, nor knowledge about developer tools or even Git. As a User I just want to run it and for this there are instructions on how to "just run it" using Docker or the wrapped Windows executable.

I myself run everything in Docker because it is just easier as all the requirements are already set up in the image. Would you mind sharing your opinion, @martydingo why you prefer to set up and run the web servers yourself? I'm honestly interested.

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

Just rebuilt one from scratch using the guides available, and a linuxserver.io nginx docker. I used their defaults (removing the UID entries from the docker-compose.yml), and manually configured the nginx.conf.

It took me a bit of work, but things to note in the nginx configuration:

  • You'll need to change php-fpm settings to connect via unix socket, not a host:port tcp connection.
  • Make sure to change the root to www/public, don't just set it to /www.
  • Set 'include fastcgi_params' to the full path, i.e 'include /etc/nginx/fastcgi_params', as it'll look for this in the wrong location otherwise.

No issues with your configurations at all, moreso there's some variance of fpm configurations across docker images that may cause confusion..

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

IMHO running the application should neither require setting up web or application servers, nor knowledge about developer tools or even Git. As a User I just want to run it and for this there are instructions on how to "just run it" using Docker or the wrapped Windows executable.

I myself run everything in Docker because it is just easier as all the requirements are already set up in the image. Would you mind sharing your opinion, @martydingo why you prefer to set up and run the web servers yourself? I'm honestly interested.

I always reverse proxy through a separate docker image (Nginx Proxy Manager), and it's far easier to handle SSL on the reverse proxy then constantly having to learn how to SSL x web application.

Otherwise I prefer it to work out of the box, but there's already a docker image of Grocy that's not maintained by @berrnd. I just learnt to build web servers before learning docker, which lets me adapt a basic nginx docker image for this.

Linuxserver.io has a really good ready made image of grocy, but I'm impatient and wanted 2.5.0.

@gersilex

This comment has been minimized.

Copy link

@gersilex gersilex commented Sep 22, 2019

Linuxserver.io has a really good ready made image of grocy, but I'm impatient and wanted 2.5.0.

Ah, yes, using it as well. On the docker build command, you can set build args with --build-arg "GROCY_RELEASE=v2.5.0" and it will download that release from GitHub while installing grocy in the Docker image.

Grocy seems to depend on the gd php extension now so you will have to add php7-gd \ into line 21. I'll open a pull request for linuxserver.io soon, so you could also just wait ^^

Edit: I implemented the installation of the gd php extension into the linuxserver.io Dockerfile, so what I described above works now.

@martydingo

This comment has been minimized.

Copy link

@martydingo martydingo commented Sep 22, 2019

I also wanted to run Barcode Buddy alongside it, but contain it within a folder, so rather hack that image I wanted to run it cleanly through a clean nginx image and go from there.

@gersilex

This comment has been minimized.

Copy link

@gersilex gersilex commented Oct 22, 2019

I like writing documentation and want to give something back to this great project. I'm just not sure where to start / which tooling I should use. Is the GitHub Wiki functionality sufficient for the documentation? If so, would you like to enable it? Or should we use a git-based documentation, maybe hosted on github.io? If so, how can we keep it updated?

Edit: Readthedocs might be very applicable here: https://readthedocs.org/

@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Oct 23, 2019

Cool, looking forward to it! :)

Or should we use a git-based documentation

I would prefer that, and because grocy is about selfhosting, we should host it ourselves...

So my suggestion would be to create a separate repo (grocy/docs) for that, feel free to pick any application/framework you want, I would then setup something that it get's rendered on https://docs.grocy.info. Does this look workable for you?

@gersilex

This comment has been minimized.

Copy link

@gersilex gersilex commented Oct 23, 2019

Sounds great. I'll work in my own fork and open pull request for relevant changes.

@berrnd

This comment has been minimized.

Copy link
Member

@berrnd berrnd commented Oct 23, 2019

I created the repo: https://github.com/grocy/docs

And also added you with write permissions, but feel free to do it how you like it, via pull requests would be of course also ok...

@gersilex

This comment has been minimized.

Copy link

@gersilex gersilex commented Oct 23, 2019

Thank you. I'll start in the next days and focus on the installation first, so we can close this issue first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4 participants
You can’t perform that action at this time.