Skip to content

Commit 6ca484b

Browse files
committed
Install instructions
1 parent 1d8aca9 commit 6ca484b

1 file changed

Lines changed: 278 additions & 1 deletion

File tree

docs/quickstart/README.md

Lines changed: 278 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,288 @@ pacman -S docker
184184
::::
185185
- Поддерживаемые дистрибутивы и архитектуры: [Docker Install](https://docs.docker.com/engine/install/)
186186
187-
После установки Docker выполните скрипт:
187+
#### Установка через LauncherDockered
188188
189+
Этот проект позволяет запустить лаунчер вместе с корректной конфигурацией nginx если вы используете собственное подключение к БД
190+
191+
- Установите git
192+
- После установки Docker и git выполните команду:
193+
194+
```bash
195+
git clone https://github.com/GravitLauncher/LauncherDockered.git
196+
cd LauncherDockered
197+
```
198+
199+
- Отредактируйте `docker-compose.yml` указав **внешний** адрес лаунчсервера и желаемое имя проекта
200+
- Запустите лаунчсервер командой `docker compose up -d`
201+
- После завершения инициализации(подождите около 5-10 секунд) выполните базовую настройку:
202+
203+
```bash
204+
echo "modules load MirrorHelper" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
205+
echo "modules load GenerateCertificate" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
206+
echo "applyworkspace" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
207+
echo "generatecertificate" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
208+
docker compose exec gravitlauncher wget https://github.com/GravitLauncher/LauncherRuntime/releases/latest/download/JavaRuntime.jar
209+
docker compose exec gravitlauncher bash -c "mkdir runtime && cd runtime && wget https://github.com/GravitLauncher/LauncherRuntime/releases/latest/download/runtime.zip && unzip runtime.zip && rm runtime.zip && cd .."
210+
echo "modules launcher-load JavaRuntime.jar" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
211+
echo "modules load Prestarter" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
212+
docker compose exec gravitlauncher wget https://github.com/GravitLauncher/LauncherPrestarter/releases/latest/download/Prestarter.exe
213+
```
214+
215+
#### Установка через SimpleCabinetDockered
216+
217+
Этот проект позволяет запустить лаунчер вместе с SimpleCabinet - готовым кабинетом с сменой скинов, плащей, пагазином и другими функциями для вашего проекта Minecraft. Не поддерживает привязку к вашей CMS (без дополнительной работы)
218+
219+
- Установите git
220+
- После установки Docker и git выполните команду:
221+
222+
```bash
223+
git clone https://github.com/SimpleCabinet/SimpleCabinetDockered.git
224+
cd SimpleCabinetDockered
225+
```
226+
227+
- Отредактируйте `docker-compose.yml` указав **только** желаемое имя проекта
228+
- Отредактируйте `setup.sh` указав внешний адрес кабинета в `SIMPLECABINET_REMOTE`
229+
- Запустите установку командой `chmod +x setup.sh && ./setup.sh`
230+
- После завершения инициализации(подождите около 5-10 секунд) выполните базовую настройку:
231+
232+
```bash
233+
echo "modules load MirrorHelper" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
234+
echo "modules load GenerateCertificate" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
235+
echo "applyworkspace" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
236+
echo "generatecertificate" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
237+
docker compose exec gravitlauncher wget https://github.com/GravitLauncher/LauncherRuntime/releases/latest/download/JavaRuntime.jar
238+
docker compose exec gravitlauncher bash -c "mkdir runtime && cd runtime && wget https://github.com/GravitLauncher/LauncherRuntime/releases/latest/download/runtime.zip && unzip runtime.zip && rm runtime.zip && cd .."
239+
echo "modules launcher-load JavaRuntime.jar" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
240+
echo "modules load Prestarter" | docker compose exec -T gravitlauncher socat UNIX-CONNECT:control-file -
241+
docker compose exec gravitlauncher wget https://github.com/GravitLauncher/LauncherPrestarter/releases/latest/download/Prestarter.exe
242+
```
243+
244+
#### Конфигурация nginx
245+
246+
В обоих случаях конфигурация nginx будет одинаковой:
247+
248+
:::: tabs
249+
@tab Без SSL
250+
251+
```nginx
252+
upstream gravitlauncher {
253+
server 127.0.0.1:17549;
254+
}
255+
256+
map $http_upgrade $connection_upgrade {
257+
default upgrade;
258+
'' close;
259+
}
260+
261+
server {
262+
listen 80;
263+
server_name launcher.mydomain.ru;
264+
265+
charset utf-8;
266+
#access_log /var/log/nginx/launcher.access.log;
267+
#error_log /var/log/nginx/launcher.error.log notice;
268+
269+
location / {
270+
proxy_pass http://gravitlauncher;
271+
proxy_http_version 1.1;
272+
proxy_set_header Upgrade $http_upgrade;
273+
proxy_set_header Connection $connection_upgrade;
274+
proxy_set_header X-Real-IP $remote_addr;
275+
proxy_set_header X-Forwarded-Proto $scheme;
276+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
277+
}
278+
}
279+
```
280+
281+
@tab С SSL
282+
283+
```nginx
284+
upstream gravitlauncher {
285+
server 127.0.0.1:17549;
286+
}
287+
288+
map $http_upgrade $connection_upgrade {
289+
default upgrade;
290+
'' close;
291+
}
292+
293+
server {
294+
listen 80;
295+
listen 443 ssl;
296+
server_name launcher.mydomain.ru;
297+
ssl_certificate /path/to/cartificate/cert.crt;
298+
ssl_certificate_key /path/to/cartificate/cert.key;
299+
300+
charset utf-8;
301+
#access_log /var/log/nginx/launcher.access.log;
302+
#error_log /var/log/nginx/launcher.error.log notice;
303+
304+
location / {
305+
proxy_pass http://gravitlauncher;
306+
proxy_http_version 1.1;
307+
proxy_set_header Upgrade $http_upgrade;
308+
proxy_set_header Connection $connection_upgrade;
309+
proxy_set_header X-Real-IP $remote_addr;
310+
proxy_set_header X-Forwarded-Proto $scheme;
311+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
312+
}
313+
}
314+
```
315+
316+
::::
317+
318+
### Установка с помощью скрипта
319+
320+
Для разработки и тестирования, а так же если вы не умеете работать с средой Docker вы можете использовать установку лаунчсервера напрямую с помощью скрипта установки
321+
322+
- Выполните следующий скрипт:
323+
324+
:::: tabs
325+
@tab Git
189326
```bash
327+
curl -o install_plain_git.sh https://mirror.gravitlauncher.com/5.7.x/scripts/install_plain_git.sh && chmod +x install_plain_git.sh && ./install_plain_git.sh
328+
```
329+
@tab Zip
330+
```bash
331+
curl -o install_plain.sh https://mirror.gravitlauncher.com/5.7.x/scripts/install_plain.sh && chmod +x install_plain.sh && ./install_plain.sh
332+
```
333+
::::
190334
335+
#### Настройка nginx для установки скриптом
336+
337+
:::: tabs
338+
@tab [ На DNS имени ]
339+
```nginx{10,12-13,15}:no-line-numbers
340+
upstream gravitlauncher {
341+
server 127.0.0.1:9274;
342+
}
343+
map $http_upgrade $connection_upgrade {
344+
default upgrade;
345+
'' close;
346+
}
347+
server {
348+
listen 80;
349+
server_name launcher.ВАШ_ДОМЕН;
350+
charset utf-8;
351+
#access_log /var/log/nginx/launcher.ВАШ_ДОМЕН.access.log;
352+
#error_log /var/log/nginx/launcher.ВАШ_ДОМЕН.error.log notice;
353+
354+
root /путь/до/updates; # Example: /home/launcher/updates
355+
356+
location / {
357+
}
358+
location /api {
359+
proxy_pass http://gravitlauncher;
360+
proxy_http_version 1.1;
361+
proxy_set_header Upgrade $http_upgrade;
362+
proxy_set_header Connection $connection_upgrade;
363+
proxy_set_header X-Real-IP $remote_addr;
364+
proxy_set_header X-Forwarded-Proto $scheme;
365+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
366+
}
367+
location /webapi/ {
368+
proxy_pass http://127.0.0.1:9274/webapi/;
369+
proxy_set_header Host $host;
370+
proxy_set_header X-Real-IP $remote_addr;
371+
proxy_set_header X-Forwarded-Proto $scheme;
372+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
373+
}
374+
location ~ /\.(?!well-known).* {
375+
deny all;
376+
}
377+
}
378+
```
379+
@tab [ На IP ]
380+
```nginx{12-13,15}:no-line-numbers
381+
upstream gravitlauncher {
382+
server 127.0.0.1:9274;
383+
}
384+
map $http_upgrade $connection_upgrade {
385+
default upgrade;
386+
'' close;
387+
}
388+
server {
389+
listen 80;
390+
391+
charset utf-8;
392+
#access_log /var/log/nginx/launcher.access.log;
393+
#error_log /var/log/nginx/launcher.error.log notice;
394+
395+
root /путь/до/updates; # Example: /home/launcher/updates
396+
397+
location / {
398+
}
399+
location /api {
400+
proxy_pass http://gravitlauncher;
401+
proxy_http_version 1.1;
402+
proxy_set_header Upgrade $http_upgrade;
403+
proxy_set_header Connection $connection_upgrade;
404+
proxy_set_header X-Real-IP $remote_addr;
405+
proxy_set_header X-Forwarded-Proto $scheme;
406+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
407+
}
408+
location /webapi/ {
409+
proxy_pass http://127.0.0.1:9274/webapi/;
410+
proxy_set_header Host $host;
411+
proxy_set_header X-Real-IP $remote_addr;
412+
proxy_set_header X-Forwarded-Proto $scheme;
413+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
414+
}
415+
location ~ /\.(?!well-known).* {
416+
deny all;
417+
}
418+
}
419+
```
420+
@tab [ Под Docker ]
421+
::: tip Для главного nginx, не в контейнере
422+
- Получить IPAddress контейнера. Где `<container id>` это UUID контейнера
423+
```bash:no-line-numbers
424+
docker inspect <container id> | grep "IPAddress"
425+
```
426+
- Заменить `127.0.0.1` адрес на локальный IP от вашего интерфейса для Docker, полученный выше
427+
```nginx{2,10,12-13,15}:no-line-numbers
428+
upstream gravitlauncher {
429+
server 127.0.0.1:9274;
430+
}
431+
map $http_upgrade $connection_upgrade {
432+
default upgrade;
433+
'' close;
434+
}
435+
server {
436+
listen 80;
437+
server_name ВАШ_ПОДДОМЕН_ДЛЯ_ЛАУНЧЕРА;
438+
charset utf-8;
439+
#access_log /var/log/nginx/launcher.ВАШ_ДОМЕН.access.log;
440+
#error_log /var/log/nginx/launcher.ВАШ_ДОМЕН.error.log notice;
441+
442+
root /путь/до/updates;
443+
444+
location / {
445+
}
446+
location /api {
447+
proxy_pass http://gravitlauncher;
448+
proxy_http_version 1.1;
449+
proxy_set_header Upgrade $http_upgrade;
450+
proxy_set_header Connection $connection_upgrade;
451+
proxy_set_header X-Real-IP $remote_addr;
452+
proxy_set_header X-Forwarded-Proto $scheme;
453+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
454+
}
455+
location /webapi/ {
456+
proxy_pass http://127.0.0.1:9274/webapi/;
457+
proxy_set_header Host $host;
458+
proxy_set_header X-Real-IP $remote_addr;
459+
proxy_set_header X-Forwarded-Proto $scheme;
460+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
461+
}
462+
location ~ /\.(?!well-known).* {
463+
deny all;
464+
}
465+
}
191466
```
467+
:::
468+
::::
192469
193470
## Защита лаунчера
194471

0 commit comments

Comments
 (0)