@@ -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