Перейти до основного вмісту

Playroom

Playroom — це віддалений Docker-хост, що слугує інфраструктурним шаром для ваших середовищ. Кожен Playground працює саме на одному Playroom.

Огляд

Коли ви створюєте Playroom, ви надаєте SSH-дані для підключення до віддаленого сервера з встановленим Docker. fibe.gg підключається до цього сервера по SSH і використовує Docker Compose для оркестрації ваших сервісів. Traefik працює на кожному Playroom як реверс-проксі, забезпечуючи маршрутизацію, HTTPS-сертифікати та автентифікацію.

Один Playroom за раз

Кожен Playroom представляє один керований хост. Playroom може запускати кілька Playground одночасно, але кожен Playground працює лише на одному Playroom.

Конфігурація

ПолеОпис
НазваЗрозуміла назва для цього Playroom
ХостSSH-імʼя хоста або IP-адреса віддаленого сервера
ПортSSH-порт (за замовчуванням: 22)
КористувачSSH-імʼя користувача для підключення
ДомениОдин або кілька доменів, спрямованих на цей Playroom (перший домен є кореневим)
ACME EmailЕлектронна пошта для видачі TLS-сертифікатів Let's Encrypt
Використовувати SudoЧи потрібно додавати sudo перед командами Docker
Статусactive, disabled або error

SSH-зʼєднання

fibe.gg спілкується з вашим сервером виключно через SSH з використанням пар ключів ed25519.

Генерація ключів

Коли ви створюєте Playroom, ви можете згенерувати пару SSH-ключів прямо з UI або через API. Система генерує пару ключів ed25519, зберігає приватний ключ (зашифрований при зберіганні) та надає вам публічний ключ.

Додайте цей публічний ключ до файлу ~/.ssh/authorized_keys на вашому віддаленому сервері для налаштованого користувача.

Тест зʼєднання

Після налаштування Playroom використайте кнопку Test Connection для перевірки:

  1. SSH-зʼєднання — Чи може платформа досягти вашого сервера?
  2. Docker — Чи встановлено Docker та чи доступний він для налаштованого користувача?
  3. Доступ до директорій — Чи може платформа записувати в /opt/phoenix?

TLS / HTTPS

Кожен Playroom використовує Let's Encrypt для автоматичної видачі TLS-сертифікатів для всіх налаштованих доменів. Поле ACME Email є обовʼязковим і використовується для реєстрації сертифікатів та повідомлень про оновлення.

Всі сервіси, що працюють на Playroom, доступні виключно через HTTPS. HTTP-запити автоматично перенаправляються на HTTPS.

Traefik

Traefik працює на кожному Playroom як ingress-контролер. Він:

  • Маршрутизує трафік до правильного сервісу Playground за субдоменом
  • Забезпечує автоматичну видачу та оновлення TLS-сертифікатів
  • Забезпечує HTTP Basic Auth для внутрішніх сервісів
  • Надає внутрішній дашборд (захищений внутрішнім паролем Playroom)

Вам не потрібно встановлювати або налаштовувати Traefik вручну — він повністю керується платформою.

Домени

Playroom може мати один або кілька доменів. Перший домен у списку є кореневим доменом, що використовується для генерації субдоменів ваших сервісів.

Наприклад, якщо ваш кореневий домен — dev.example.com, сервіс із субдоменом web буде доступний за адресою https://web.dev.example.com.

Безкоштовний домен

Якщо ваш Playroom був створений через план підписки, він може автоматично включати безкоштовний субдомен *.fibe.gg.

Вимоги до хоста

Перед створенням Playroom ваш віддалений сервер повинен відповідати таким вимогам:

ВимогаДеталі
SSH-доступПлатформа повинна мати змогу досягти хоста по SSH
DockerDocker Engine повинен бути встановлений та доступний для налаштованого користувача
Права користувачаКористувач повинен мати дозвіл на виконання команд docker (або sudo повинен бути увімкнений)
Доступ до директорійКористувач повинен мати доступ на читання/запис до /opt/phoenix
Вхідні портиПорти 80 та 443 повинні бути відкриті для HTTP/HTTPS трафіку
DNSВаші домени повинні мати A/CNAME записи, що вказують на IP-адресу сервера

Ліміти ресурсів

Створення Playroom базується на підписці. Кожен план підписки включає ліміт Playroom — наприклад, план Single надає 1 Playroom, а план Multiplayer — до 10. Кілька підписок складають свої ліміти.