PhlexPlexico / G5V

A front-end for G5API to manage matches/seasons/tournaments for CS:GO
MIT License
56 stars 29 forks source link

Questions. #182

Open Truyn opened 2 months ago

Truyn commented 2 months ago

I understand very little English, and your installation instructions terrify me. If possible I would like answers to a few questions.

  1. Is it possible to somehow deploy this on pterodactyl?
  2. Is it possible to deploy this on fastpanel?
  3. Are there any simpler installation methods?
  4. Perhaps because of my poor English, I don’t understand the translation of the instructions well. But it’s not clear to me whether a clean virtual machine is needed?
  5. Or the panel can be installed where there are already websites, like pterodactyl or fastpanel.
PhlexPlexico commented 2 months ago

Hi!

No, this isn't a game server so you cannot install this on pterodactyl. The front end, plus the API require NodeJs to build and run.

I don't know what fast panel is, but if it's anything like pterodactyl, then no you do not deploy this with that tool.

You certainly don't need an entire new virtual machine to deploy the stack, all you need is Docker. It's preferable you do not have any other web servers running (i.e. nginx, apache, tomcat, caddy, etc) unless you know how to set up reverse proxies on the host level.

You can use the provided docker-compose file here

https://github.com/PhlexPlexico/G5API/blob/master/docker-compose.yml

And follow the instructions to deploy with docker compose here https://github.com/PhlexPlexico/G5API?tab=readme-ov-file#docker-compose-instructions

Here is an example file, the lines that you need to change are marked with #CHANGEME to your values. Once changed, you can call docker compose up -d and it will build the app and deploy to the provided url that you have in the compose file. I hope this helps!

Truyn commented 2 months ago

It's preferable you do not have any other web servers running (i.e. nginx, apache, tomcat, caddy, etc) unless you know how to set up reverse proxies on the host level.

Everywhere there is either nginx or apache Otherwise, why do we need a web server :D

PhlexPlexico commented 2 months ago

Because the docker container sets up a web server for you that properly reverse proxies the requests? If you have a web server running on your virtual machine, then you will have to reverse proxy to the G5API container and G5V container yourself and remove the caddy info from the docker compose file.

Truyn commented 2 months ago

Is it possible to complete all the installation steps from scratch? To be honest, I don’t understand much, deploy the docker compose file by editing the values, how to download it, upload it to the server and then edit it, etc. Can I ask you to describe the steps first, for example, on a clean vds.

Truyn commented 2 months ago

Maybe I'm too stupid, or I don't fully understand something. But in order to simply install the web to launch matches, you need to complete more than a dozen steps, first installing the API and then the panel itself. And yarn, etc., etc. As a user, I want to clearly and simply deploy resources. For example, installations, pterodactyl, pelican, fastpanel and other resources, which are much more functional and complex (I’m not insulting, I don’t know how to convey the idea correctly) I apologize if I express something incorrectly.

Everywhere these scripts are placed as clearly as possible and a person without knowledge will install everything without instructions.

And then I look at it, not only is English not my native language, but nothing is clear to me through the translator.

It’s not clear what comes from where, it’s not clear how to put everything in order.

It would be cool to deploy all this in some kind of pterodactyl egg, or a ready-made docker container that could be installed quickly and then configured as needed.

PhlexPlexico commented 2 months ago

I think the issue you may be experiencing is that you are assuming this is just a simple website. The G5V/G5API stack is far from just a simple website where you load JavaScript from a client browser and that's it. This is not the case.

As I stated before, there are Docker containers available on the Github Container Registry (GHCR). You can see that here for G5API and here for G5V. They are separate applications.

You absolutely do not need to install everything on your host OS. It can all be done through Docker, and Docker Compose.

You download the docker-compose.yml and make the changes required for your server. This is already assuming you have a basic understanding on how the web works. For example, you have a URL for your server, like https://get5.phlexplexi.co.

Once you download and make the required changes to your docker-compose.yml file, you simply move that single file over to your server, and then call docker compose up -d. This will spin up all the containers necessary to launch the application in the background. Wait about 5-10 minutes, then head to your URL (like https://get5.phlexplexi.co) and see that the application is up and running. This is for a fresh install of a server that is not running any other web servers.

I apologize that I cannot cater to other languages, as English is the only language I can confidently speak and write in. You may need to find a translator if these steps are confusing, as I have tried my best to make them as understandable as possible. I think having a single file with the lines #CHANGEME is pretty self-explanatory, and information of what those values actually do can be found here.

Please just follow the docker-compose instructions, as it is by far the easiest steps, requires a single file, and is ready to deploy as soon as you make your config changes. I do apologize, but I'm not going to waste time on attempting to port something over to different applications that I have zero experience with, when docker already exists and the entire stack (database, web server, API, front-end) takes less than 5 minutes to setup and deploy.