Как развернуть сайт вашего сервера Rust используя RSWT
Что такое RSWT?
RSWT (Rust-Server-Website-Template) — это простой, одностраничный шаблон для быстрого развёртывания сайта вашего игрового сервера Rust.
Собран на Vue, вёрстка Bootstrap. Использует API Rust-Servers.Net и Discord Widget. Помимо статических шаблонов, будет динамически подгружать данные с вышеуказанных API и обновлять данные на странице:
- Статус сервера Онлайн/Оффлайн
- Количество игроков на сервере Rust
- Количество участников на сервере Discord
Что нужно для развёртывания?
Для того, чтобы запустить (развернуть) RSWT будет достаточно самого простого VPS с предустановленным Docker.
Где арендовать VPS?
Вы можете выбирать любой, в качестве рекомендации могу предложить следующие.
Облако Рег.ру
Начать можно с тарифа Std C1-M1-D10 за 390 ₽/мес. Полноценный VPS с SSH доступом. Характеристики: 1 ядро 2.2Ghz / 1 GB RAM / 10 GB SSD
Арендовать облачный сервер на Рег.ру можно по моей ссылке, а можно и без неё =)
timeweb.cloud
На момент написания статьи самый дешевый тариф доступен в регионе SPB-2 за 530 ₽/мес. Полноценный VPS с SSH доступом. Характеристики: 1 ядро 2.8Ghz / 1 GB RAM / 10 GB SSD
В timeweb помимо аренды VPS можно сделать деплой приложения сразу из GitHub с помощью Dockerfile или Node.js+Vue.
В первом случае стоимость будет составлять 188 ₽/мес. Характеристики: 1 ядро 3.3 GHz / 1 GB RAM / 15 GB NVMe. Без доступа по SSH и возможности редактировать файлы.
Во втором случае стоимость будет зависеть от лимитов:
Доступа по SSH так-же не будет, как и возможности редактировать файлы. Второй вариант супер дешевый, однако редактировать шаблон можно будет только создав форк ГитХаб репозитория RSWT, и ре-деплой приложения после изменения файлов в нём.
Арендовать облачный сервер на timeweb можно по моей ссылке (+300 ₽ на счет)
Деплой RSWT
Далее немного подробнее о процессе развёртывания (деплоя) RSWT.
VPS, Docker, SSH
Если вы арендовали полноценный VPS и хотите запустить сайт на нём. Отталкиваемся от того, что вы арендовали VPS с предустановленным Docker (Ubuntu 24.04 + Docker).
Заходим через SSH, далее подготовим окружение и клонируем репозиторий:
apt update
git clone --branch rswt-vue https://github.com/Mo45/Rust-Server-Website-Template.git rswt
apt install npm -y
Установим приложение, соберём образ Docker и запустим его:
cd rswt
npm install
docker build -t rswt-vue .
docker run -p 80:80 rswt-vue
Последняя команда запустит образ который мы клонировали с ГитХаба и собрали локально, и пробросит 80 порт из контейнера на 80 порт вашего VPS.
Теперь вы можете зайти и проверить всё-ли работает http://IP_вашего_VPS:80
Всё работает? Отлично, остановим контейнер ctrl+c
Теперь можно персонализировать сайт, для этого нужно отредактировать файлы шаблона. В первую очередь src\config.json:
{ "TITLE_SHORT": "RSWT Vue App", <-- Короткий заголовок, используется в качестве заголовка страницы "TITLE_FULL": "Mega Awesome Servers", <-- Основной заголовок, используется в h1 и футере "PRJ_SLOGAN": "Most Amazing Rust Servers", <-- Подзаголовок, или слоган h2 "DISCORD_ID": "XXXXXXXXXXXXXXXXXX", <-- ID вашего сервера Discord "S1_API_KEY": "YOUR_API_KEY", <-- API ключ Rust-Servers.Net для первого сервера "S1_BANNER": "mosharust.png", <-- Баннер для первого сервера "S1_DESC": "The original experience", <-- Краткое описание первого сервера "S2_API_KEY": "YOUR_API_KEY", <-- API ключ Rust-Servers.Net для второго сервера "S2_BANNER": "mosharust.png", <-- Баннер для второго сервера "S2_DESC": "Another cool description", <-- Краткое описание второго сервера "S3_API_KEY": "YOUR_API_KEY", "S3_BANNER": "mosharust.png", "S3_DESC": "Another cool description", "S4_API_KEY": "YOUR_API_KEY", "S4_BANNER": "mosharust.png", "S4_DESC": "Another cool description" }
Теперь приступим к редактированию разделов FAQ, Staff, Rules и т.д.
Для каждого из разделов редактируем
components\faqSection.vue
components\rulesSection.vue
components\staffSection.vue
components\storeSection.vue
Следуем комментариям в коде. Всё должно быть понятно, это базовый HTML.
Теперь можно запустить контейнер и проверить:
docker compose up -d --build
Эта команда запустит контейнер в свёрнутом виде.
Если контейнер необходимо запустить на другом порту (не 80), измените его в файле .env в корневой директории:
#!/usr/bin/env bash APP_NAME=rswt-vue APP_PORT=80 <-- изменить на необходимый порт APP_VER=0.0.2
Деплой приложения Vue в timeweb
Полная пошаговая инструкция доступна на сайте timeweb.
- Выбираем Frontend -> Vue
- Жмём Подключите git-репозиторий по URL
- Вставляем URL репозитория: https://github.com/Mo45/Rust-Server-Website-Template.git (или на свой форк)
- Выбираем ветку rswt-vue и самый актуальный (верхний) коммит
- Остальное не меняем, жмём Запустить деплой — 1 ₽/мес