<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Kirill Krasin</title><author><name>Kirill Krasin</name></author><id>https://teletype.in/atom/kirillkrasin</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/kirillkrasin?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@kirillkrasin?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kirillkrasin"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/kirillkrasin?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-05-24T21:31:16.426Z</updated><entry><id>kirillkrasin:steam-web-api-python-bot</id><link rel="alternate" type="text/html" href="https://teletype.in/@kirillkrasin/steam-web-api-python-bot?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kirillkrasin"></link><title>Как получать количество игроков онлайн в Steam?</title><published>2025-07-17T10:10:16.659Z</published><updated>2025-07-17T10:23:54.466Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/c5/0b/c50b7b04-0511-4d87-bc36-06c20eddb325.png"></media:thumbnail><tt:hashtag>steam</tt:hashtag><tt:hashtag>python</tt:hashtag><tt:hashtag>mysql</tt:hashtag><tt:hashtag>webapi</tt:hashtag><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/39/48/3948b7aa-c12e-4a3d-a743-ad383b358b60.png&quot;&gt;Настраиваем автоматический сбор статистики игроков онлайн в Steam по указанному AppID с сохранением в базу данных MySQL с помощью небольшого Python бота - Steam Player Monitoring Bot.</summary><content type="html">
  &lt;figure id=&quot;aw9f&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/39/48/3948b7aa-c12e-4a3d-a743-ad383b358b60.png&quot; width=&quot;1280&quot; /&gt;
    &lt;figcaption&gt;Пример реализации: &lt;a href=&quot;https://apex-hub.ru/steam-stats&quot; target=&quot;_blank&quot;&gt;График игроков онлайн в Steam для игры Apex Legends&lt;/a&gt;&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dVTw&quot;&gt;Настраиваем автоматический сбор статистики игроков онлайн в &lt;strong&gt;Steam&lt;/strong&gt; по указанному &lt;strong&gt;AppID&lt;/strong&gt; с сохранением в базу данных &lt;strong&gt;MySQL&lt;/strong&gt; с помощью небольшого Python бота - &lt;a href=&quot;https://github.com/apexhubnet/steam-bot&quot; target=&quot;_blank&quot;&gt;Steam Player Monitoring Bot&lt;/a&gt;.&lt;/p&gt;
  &lt;h2 id=&quot;3pRr&quot;&gt;📋 Предварительные требования&lt;/h2&gt;
  &lt;ol id=&quot;jRJ3&quot;&gt;
    &lt;li id=&quot;YSGY&quot;&gt;&lt;strong&gt;Python&lt;/strong&gt; 3.7+&lt;/li&gt;
    &lt;li id=&quot;jFvo&quot;&gt;База данных &lt;strong&gt;MySQL &lt;/strong&gt;(локально или удалённо)&lt;/li&gt;
    &lt;li id=&quot;8VgE&quot;&gt;Steam Web &lt;strong&gt;API Key&lt;/strong&gt; (&lt;a href=&quot;https://steamcommunity.com/dev/apikey&quot; target=&quot;_blank&quot;&gt;получить здесь&lt;/a&gt;)&lt;/li&gt;
    &lt;li id=&quot;Crfs&quot;&gt;Docker&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h2 id=&quot;YSiA&quot;&gt;⚙️ Настройка проекта&lt;/h2&gt;
  &lt;p id=&quot;pucG&quot;&gt;Создайте файл &lt;code&gt;.env&lt;/code&gt; в папке с ботом (шаблон из &lt;code&gt;.env.example&lt;/code&gt;):&lt;/p&gt;
  &lt;pre id=&quot;leaz&quot;&gt;# Steam API Settings
STEAM_API_KEY=api_key
APP_ID=app_id
INTERVAL_MINUTES=30
# MySQL Settings
DB_HOST=host
DB_NAME=db_name
DB_USER=u_name
DB_PASSWORD=u_pass&lt;/pre&gt;
  &lt;p id=&quot;QklV&quot;&gt;Создайте таблицу в &lt;strong&gt;MySQL&lt;/strong&gt;:&lt;/p&gt;
  &lt;pre id=&quot;EzbQ&quot;&gt;CREATE TABLE steam_stats (
  id INT AUTO_INCREMENT PRIMARY KEY,
  timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  appid INT NOT NULL,
  player_count INT NULL,
  error_message VARCHAR(255) NULL
);&lt;/pre&gt;
  &lt;h2 id=&quot;PYty&quot;&gt;🖥️ Запуск бота&lt;/h2&gt;
  &lt;p id=&quot;Jhnp&quot;&gt;Весь необходимый код в репозитории &lt;a href=&quot;https://github.com/apexhubnet/steam-bot&quot; target=&quot;_blank&quot;&gt;apexhubnet/steam-bot&lt;/a&gt; - клонируйте, перейдите в директорию в которой расположен &lt;strong&gt;docker-compose.yml&lt;/strong&gt;, затем:&lt;/p&gt;
  &lt;p id=&quot;EDWB&quot;&gt;Запуск через Docker:&lt;/p&gt;
  &lt;pre id=&quot;QpwX&quot;&gt;docker compose up -d --build&lt;/pre&gt;
  &lt;h2 id=&quot;roti&quot;&gt;📊 Как это работает&lt;/h2&gt;
  &lt;p id=&quot;sXmF&quot;&gt;Бот периодически опрашивает &lt;strong&gt;Steam API&lt;/strong&gt; (интервал задаётся в .env).&lt;/p&gt;
  &lt;p id=&quot;vgSn&quot;&gt;Лог успешного ответа:&lt;/p&gt;
  &lt;pre id=&quot;TBMY&quot;&gt;2025-07-17 11:31:58,805 - INFO - Fetching player count...
2025-07-17 11:31:59,075 - INFO - Current players: 85822
2025-07-17 11:31:59,110 - INFO - Data saved to DB
2025-07-17 11:31:59,112 - INFO - Sleeping for 1800 seconds
2025-07-17 12:01:59,212 - INFO - Fetching player count...
2025-07-17 12:01:59,508 - INFO - Current players: 84818
2025-07-17 12:01:59,546 - INFO - Data saved to DB
2025-07-17 12:01:59,548 - INFO - Sleeping for 1800 seconds&lt;/pre&gt;
  &lt;p id=&quot;gUaD&quot;&gt;Лог при ошибке (например, недоступность API):&lt;/p&gt;
  &lt;pre id=&quot;BawD&quot;&gt;2025-07-17 14:35:00 - ERROR - API error: Request failed
2025-07-17 14:35:00 - INFO - Error saved to DB&lt;/pre&gt;
  &lt;p id=&quot;oC8e&quot;&gt;Двойная система восстановления:&lt;/p&gt;
  &lt;ul id=&quot;3sKL&quot;&gt;
    &lt;li id=&quot;tcqP&quot;&gt;При сбоях внутреннего цикла – перезапуск через &lt;strong&gt;60&lt;/strong&gt; секунд.&lt;/li&gt;
    &lt;li id=&quot;Oc3w&quot;&gt;При критических ошибках – &lt;strong&gt;полный перезапуск&lt;/strong&gt; приложения.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;YwhK&quot;&gt;🔍 Анализ данных&lt;/h2&gt;
  &lt;p id=&quot;a0Jb&quot;&gt;Пример SQL-запроса для получения статистики по &lt;strong&gt;Apex Legends&lt;/strong&gt; (AppID=&lt;strong&gt;1172470&lt;/strong&gt;):&lt;/p&gt;
  &lt;pre id=&quot;btXT&quot;&gt;SELECT 
  DATE(timestamp) AS day, 
  HOUR(timestamp) AS hour,
  AVG(player_count) AS avg_players
FROM steam_stats 
WHERE appid=1172470 AND error_message IS NULL
GROUP BY day, hour;&lt;/pre&gt;
  &lt;p id=&quot;XPGt&quot;&gt;Получаем максимальное значение за неделю:&lt;/p&gt;
  &lt;pre id=&quot;WBUq&quot;&gt;SELECT MAX(player_count) AS max 
       FROM &amp;#x60;steam_stats&amp;#x60; 
       WHERE timestamp &amp;gt;= NOW() - INTERVAL 7 DAY
       AND error_message IS NULL&lt;/pre&gt;
  &lt;p id=&quot;Gun8&quot;&gt;Получаем среднее количество игроков за месяц:&lt;/p&gt;
  &lt;pre id=&quot;JVUg&quot;&gt;SELECT AVG(player_count) AS average 
       FROM &amp;#x60;steam_stats&amp;#x60; 
       WHERE timestamp &amp;gt;= NOW() - INTERVAL 30 DAY
       AND error_message IS NULL&lt;/pre&gt;
  &lt;p id=&quot;BscH&quot;&gt;Получаем данные за конкретный месяц:&lt;/p&gt;
  &lt;pre id=&quot;es8c&quot;&gt;SELECT MAX(player_count) AS max
       FROM &amp;#x60;steam_stats&amp;#x60;
       WHERE MONTH(&amp;#x60;timestamp&amp;#x60;) = 03
       AND YEAR(&amp;#x60;timestamp&amp;#x60;) = 2025&lt;/pre&gt;
  &lt;tt-tags id=&quot;Ymio&quot;&gt;
    &lt;tt-tag name=&quot;steam&quot;&gt;#steam&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;python&quot;&gt;#python&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;mysql&quot;&gt;#mysql&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;webapi&quot;&gt;#webapi&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>kirillkrasin:deploy-rswt-vue-docker</id><link rel="alternate" type="text/html" href="https://teletype.in/@kirillkrasin/deploy-rswt-vue-docker?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=kirillkrasin"></link><title>Как развернуть сайт вашего сервера Rust используя RSWT</title><published>2024-09-01T09:33:16.746Z</published><updated>2025-07-17T12:28:27.454Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/67/de/67de3258-e9a6-4a6d-b69b-651525e87800.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/bf/c4/bfc464f5-3779-4a38-a63c-b1e2bcfc5c5c.png&quot;&gt;RSWT (Rust-Server-Website-Template) — это простой, одностраничный шаблон для быстрого развёртывания сайта вашего игрового сервера Rust.</summary><content type="html">
  &lt;figure id=&quot;kyaX&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bf/c4/bfc464f5-3779-4a38-a63c-b1e2bcfc5c5c.png&quot; width=&quot;1280&quot; /&gt;
    &lt;figcaption&gt;RSWT - Rust-Server-WEebsite-Template&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;M2LP&quot;&gt;Что такое RSWT?&lt;/h2&gt;
  &lt;p id=&quot;tEEZ&quot;&gt;&lt;strong&gt;RSWT&lt;/strong&gt; (&lt;a href=&quot;https://github.com/Mo45/Rust-Server-Website-Template&quot; target=&quot;_blank&quot;&gt;Rust-Server-Website-Template&lt;/a&gt;) — это простой, одностраничный шаблон для быстрого развёртывания сайта вашего игрового сервера Rust.&lt;/p&gt;
  &lt;p id=&quot;VXm0&quot;&gt;Собран на &lt;strong&gt;Vue&lt;/strong&gt;, вёрстка Bootstrap. Использует API &lt;strong&gt;Rust-Servers.Net&lt;/strong&gt; и &lt;strong&gt;Discord Widget&lt;/strong&gt;. Помимо статических шаблонов, будет динамически подгружать данные с вышеуказанных API и обновлять данные на странице:&lt;/p&gt;
  &lt;ul id=&quot;DOCV&quot;&gt;
    &lt;li id=&quot;28MR&quot;&gt;Статус сервера Онлайн/Оффлайн&lt;/li&gt;
    &lt;li id=&quot;xuZd&quot;&gt;Количество игроков на сервере Rust&lt;/li&gt;
    &lt;li id=&quot;0zS3&quot;&gt;Количество участников на сервере Discord&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h2 id=&quot;91Tp&quot;&gt;Что нужно для развёртывания?&lt;/h2&gt;
  &lt;p id=&quot;fLy4&quot;&gt;Для того, чтобы запустить (развернуть) RSWT будет достаточно самого простого &lt;strong&gt;VPS&lt;/strong&gt; с предустановленным &lt;strong&gt;Docker&lt;/strong&gt;. &lt;/p&gt;
  &lt;h2 id=&quot;6Cuv&quot;&gt;Где арендовать VPS?&lt;/h2&gt;
  &lt;p id=&quot;HjUS&quot;&gt;Вы можете выбирать любой, в качестве рекомендации могу предложить следующие.&lt;/p&gt;
  &lt;h3 id=&quot;k7bn&quot;&gt;Облако Рег.ру&lt;/h3&gt;
  &lt;p id=&quot;VjCz&quot;&gt;Начать можно с тарифа &lt;strong&gt;&lt;a href=&quot;https://www.reg.ru/cloud/vps/?rlink=reflink-10779005&quot; target=&quot;_blank&quot;&gt;Std C1-M1-D10&lt;/a&gt;&lt;/strong&gt; за &lt;strong&gt;390&lt;/strong&gt; ₽/мес. Полноценный VPS с SSH доступом. Характеристики: 1 ядро 2.2Ghz / 1 GB RAM / 10 GB SSD&lt;/p&gt;
  &lt;figure id=&quot;KKoK&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8a/c5/8ac5da11-e9cf-4e6d-b4f2-b26c2fd14e4f.png&quot; width=&quot;1480&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;mBwP&quot;&gt;Арендовать облачный сервер на Рег.ру можно по &lt;a href=&quot;https://www.reg.ru/cloud/vps/?rlink=reflink-10779005&quot; target=&quot;_blank&quot;&gt;моей ссылке&lt;/a&gt;, а можно и без неё =)&lt;/p&gt;
  &lt;h3 id=&quot;NUfW&quot;&gt;timeweb.cloud&lt;/h3&gt;
  &lt;p id=&quot;HXrJ&quot;&gt;На момент написания статьи самый дешевый тариф доступен в регионе &lt;strong&gt;&lt;a href=&quot;https://timeweb.cloud/r/mo45&quot; target=&quot;_blank&quot;&gt;SPB-2&lt;/a&gt;&lt;/strong&gt; за &lt;strong&gt;530&lt;/strong&gt; ₽/мес. Полноценный VPS с SSH доступом. Характеристики: 1 ядро 2.8Ghz / 1 GB RAM / 10 GB SSD&lt;/p&gt;
  &lt;figure id=&quot;Ew3N&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/71/a1/71a1fcc9-ea68-4b22-aa9e-141f75f7fbf0.png&quot; width=&quot;963&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0u9n&quot;&gt;В &lt;strong&gt;timeweb&lt;/strong&gt; помимо аренды VPS можно сделать деплой приложения сразу из GitHub с помощью &lt;a href=&quot;https://timeweb.cloud/docs/apps/deploying-with-dockerfile&quot; target=&quot;_blank&quot;&gt;Dockerfile&lt;/a&gt; или &lt;a href=&quot;https://timeweb.cloud/docs/apps/deploying-frontend-apps/vue&quot; target=&quot;_blank&quot;&gt;Node.js+Vue&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;n0gC&quot;&gt;В первом случае стоимость будет составлять &lt;strong&gt;188&lt;/strong&gt; ₽/мес. Характеристики: 1 ядро 3.3 GHz / 1 GB RAM / 15 GB NVMe. Без доступа по SSH и возможности редактировать файлы.&lt;/p&gt;
  &lt;p id=&quot;MGKc&quot;&gt;Во втором случае стоимость будет зависеть от лимитов:&lt;/p&gt;
  &lt;ul id=&quot;x9hn&quot;&gt;
    &lt;li id=&quot;kB3s&quot;&gt;50 тыс/мес 50 Мб &lt;strong&gt;1&lt;/strong&gt; ₽/мес&lt;/li&gt;
    &lt;li id=&quot;uAqN&quot;&gt;200 тыс/мес 1 Гб &lt;strong&gt;99&lt;/strong&gt; ₽/мес&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;LxVR&quot;&gt;Доступа по SSH так-же не будет, как и возможности редактировать файлы. Второй вариант супер дешевый, однако редактировать шаблон можно будет только создав форк ГитХаб репозитория &lt;strong&gt;RSWT&lt;/strong&gt;, и ре-деплой приложения после изменения файлов в нём.&lt;/p&gt;
  &lt;p id=&quot;GQVd&quot;&gt;Арендовать облачный сервер на timeweb можно по &lt;a href=&quot;https://timeweb.cloud/r/mo45&quot; target=&quot;_blank&quot;&gt;моей ссылке&lt;/a&gt; (+300 ₽ на счет)&lt;/p&gt;
  &lt;figure id=&quot;QQmv&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/38/2f/382fdfea-fba1-44b8-ad65-e659f8f5220e.png&quot; width=&quot;1007&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;9Rto&quot;&gt;Деплой RSWT&lt;/h2&gt;
  &lt;p id=&quot;t3ip&quot;&gt;Далее немного подробнее о процессе развёртывания (деплоя) RSWT.&lt;/p&gt;
  &lt;h3 id=&quot;Qyd5&quot;&gt;VPS, Docker, SSH&lt;/h3&gt;
  &lt;p id=&quot;MBH2&quot;&gt;Если вы арендовали полноценный VPS и хотите запустить сайт на нём. Отталкиваемся от того, что вы арендовали VPS с предустановленным Docker (Ubuntu 24.04 + Docker).&lt;/p&gt;
  &lt;p id=&quot;MUP3&quot;&gt;Заходим через SSH, далее подготовим окружение и клонируем репозиторий:&lt;/p&gt;
  &lt;pre id=&quot;jAGr&quot;&gt;apt update&lt;/pre&gt;
  &lt;pre id=&quot;3THb&quot;&gt;git clone --branch rswt-vue https://github.com/Mo45/Rust-Server-Website-Template.git rswt&lt;/pre&gt;
  &lt;pre id=&quot;rtFa&quot;&gt;apt install npm -y&lt;/pre&gt;
  &lt;p id=&quot;qmGp&quot;&gt;Установим приложение, соберём образ Docker и запустим его:&lt;/p&gt;
  &lt;pre id=&quot;Pwd5&quot;&gt;cd rswt&lt;/pre&gt;
  &lt;pre id=&quot;OQ7o&quot;&gt;npm install&lt;/pre&gt;
  &lt;pre id=&quot;3HG0&quot;&gt;docker build -t rswt-vue .&lt;/pre&gt;
  &lt;pre id=&quot;4XXG&quot;&gt;docker run -p 80:80 rswt-vue&lt;/pre&gt;
  &lt;p id=&quot;4Cyw&quot;&gt;Последняя команда запустит образ который мы клонировали с ГитХаба и собрали локально, и пробросит 80 порт из контейнера на 80 порт вашего VPS.&lt;/p&gt;
  &lt;p id=&quot;KTgy&quot;&gt;Теперь вы можете зайти и проверить всё-ли работает &lt;strong&gt;http://IP_вашего_VPS:80&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;PWOu&quot;&gt;Всё работает? Отлично, остановим контейнер &lt;strong&gt;ctrl+c&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;ftqY&quot;&gt;Теперь можно персонализировать сайт, для этого нужно отредактировать файлы шаблона. В первую очередь &lt;strong&gt;src\config.json&lt;/strong&gt;:&lt;/p&gt;
  &lt;pre id=&quot;bk3c&quot;&gt;{
  &amp;quot;TITLE_SHORT&amp;quot;: &amp;quot;RSWT Vue App&amp;quot;, &amp;lt;-- Короткий заголовок, используется в качестве заголовка страницы
  &amp;quot;TITLE_FULL&amp;quot;: &amp;quot;Mega Awesome Servers&amp;quot;, &amp;lt;-- Основной заголовок, используется в h1 и футере
  &amp;quot;PRJ_SLOGAN&amp;quot;: &amp;quot;Most Amazing Rust Servers&amp;quot;, &amp;lt;-- Подзаголовок, или слоган h2
  &amp;quot;DISCORD_ID&amp;quot;: &amp;quot;XXXXXXXXXXXXXXXXXX&amp;quot;, &amp;lt;-- ID вашего сервера Discord

  &amp;quot;S1_API_KEY&amp;quot;: &amp;quot;YOUR_API_KEY&amp;quot;, &amp;lt;-- API ключ Rust-Servers.Net для первого сервера
  &amp;quot;S1_BANNER&amp;quot;: &amp;quot;mosharust.png&amp;quot;, &amp;lt;-- Баннер для первого сервера
  &amp;quot;S1_DESC&amp;quot;: &amp;quot;The original experience&amp;quot;, &amp;lt;-- Краткое описание первого сервера

  &amp;quot;S2_API_KEY&amp;quot;: &amp;quot;YOUR_API_KEY&amp;quot;, &amp;lt;-- API ключ Rust-Servers.Net для второго сервера
  &amp;quot;S2_BANNER&amp;quot;: &amp;quot;mosharust.png&amp;quot;, &amp;lt;-- Баннер для второго сервера
  &amp;quot;S2_DESC&amp;quot;: &amp;quot;Another cool description&amp;quot;, &amp;lt;-- Краткое описание второго сервера

  &amp;quot;S3_API_KEY&amp;quot;: &amp;quot;YOUR_API_KEY&amp;quot;,
  &amp;quot;S3_BANNER&amp;quot;: &amp;quot;mosharust.png&amp;quot;,
  &amp;quot;S3_DESC&amp;quot;: &amp;quot;Another cool description&amp;quot;,

  &amp;quot;S4_API_KEY&amp;quot;: &amp;quot;YOUR_API_KEY&amp;quot;,
  &amp;quot;S4_BANNER&amp;quot;: &amp;quot;mosharust.png&amp;quot;,
  &amp;quot;S4_DESC&amp;quot;: &amp;quot;Another cool description&amp;quot;
}&lt;/pre&gt;
  &lt;p id=&quot;ezhn&quot;&gt;Теперь приступим к редактированию разделов FAQ, Staff, Rules и т.д.&lt;/p&gt;
  &lt;p id=&quot;90cI&quot;&gt;Для каждого из разделов редактируем&lt;/p&gt;
  &lt;pre id=&quot;USrb&quot;&gt;components\faqSection.vue&lt;/pre&gt;
  &lt;pre id=&quot;Ttt2&quot;&gt;components\rulesSection.vue&lt;/pre&gt;
  &lt;pre id=&quot;m5C4&quot;&gt;components\staffSection.vue&lt;/pre&gt;
  &lt;pre id=&quot;Lkh1&quot;&gt;components\storeSection.vue&lt;/pre&gt;
  &lt;p id=&quot;n6AL&quot;&gt;Следуем комментариям в коде. Всё должно быть понятно, это базовый HTML.&lt;/p&gt;
  &lt;p id=&quot;scJ8&quot;&gt;Теперь можно запустить контейнер и проверить:&lt;/p&gt;
  &lt;pre id=&quot;HoOd&quot;&gt;docker compose up -d --build&lt;/pre&gt;
  &lt;p id=&quot;jlUr&quot;&gt;Эта команда запустит контейнер в свёрнутом виде.&lt;/p&gt;
  &lt;p id=&quot;KvA2&quot;&gt;Если контейнер необходимо запустить на другом порту (не &lt;strong&gt;80&lt;/strong&gt;), измените его в файле &lt;strong&gt;.env&lt;/strong&gt; в корневой директории:&lt;/p&gt;
  &lt;pre id=&quot;PMiL&quot;&gt;#!/usr/bin/env bash

APP_NAME=rswt-vue
APP_PORT=80 &amp;lt;-- изменить на необходимый порт
APP_VER=0.0.2&lt;/pre&gt;
  &lt;h3 id=&quot;rXRB&quot;&gt;Деплой приложения Vue в timeweb&lt;/h3&gt;
  &lt;p id=&quot;oy94&quot;&gt;Полная пошаговая инструкция доступна на сайте &lt;a href=&quot;https://timeweb.cloud/docs/apps/deploying-frontend-apps/vue&quot; target=&quot;_blank&quot;&gt;timeweb&lt;/a&gt;.&lt;/p&gt;
  &lt;p id=&quot;Hjuh&quot;&gt;Если кратко:&lt;/p&gt;
  &lt;ol id=&quot;IKJV&quot;&gt;
    &lt;li id=&quot;E1W1&quot;&gt;Выбираем Frontend -&amp;gt; Vue&lt;/li&gt;
    &lt;li id=&quot;1BmX&quot;&gt;Жмём Подключите git-репозиторий по URL&lt;/li&gt;
    &lt;li id=&quot;OlDg&quot;&gt;Вставляем URL репозитория: &lt;a href=&quot;https://github.com/Mo45/Rust-Server-Website-Template.git&quot; target=&quot;_blank&quot;&gt;https://github.com/Mo45/Rust-Server-Website-Template.git&lt;/a&gt; (или на свой форк)&lt;/li&gt;
    &lt;li id=&quot;w7rm&quot;&gt;Выбираем ветку &lt;strong&gt;rswt-vue&lt;/strong&gt; и самый актуальный (верхний) коммит&lt;/li&gt;
    &lt;li id=&quot;KMCn&quot;&gt;Остальное не меняем, жмём &lt;strong&gt;Запустить деплой — 1 ₽/мес&lt;/strong&gt;&lt;/li&gt;
  &lt;/ol&gt;

</content></entry></feed>