Playroom
Playroom — це віддалений Docker-хост, що слугує інфраструктурним шаром для ваших середовищ. Кожен Playground працює саме на одному Playroom.
Огляд
Коли ви створюєте Playroom, ви надаєте SSH-дані для підключення до віддаленого сервера з встановленим Docker. fibe.gg підключається до цього сервера по SSH і використовує Docker Compose для оркестрації ваших сервісів. Traefik працює на кожному Playroom як реверс-проксі, забезпечуючи маршрутизацію, HTTPS-сертифікати та автентифікацію.
Кожен 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 для перевірки:
- SSH-зʼєднання — Чи може платформа досягти вашого сервера?
- Docker — Чи встановлено Docker та чи доступний він для налаштованого користувача?
- Доступ до директорій — Чи може платформа записувати в
/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 |
| Docker | Docker Engine повинен бути встановлений та доступний для налаштованого користувача |
| Права користувача | Користувач повинен мати дозвіл на виконання команд docker (або sudo повинен бути увімкнений) |
| Доступ до директорій | Користувач повинен мати доступ на читання/запис до /opt/phoenix |
| Вхідні порти | Порти 80 та 443 повинні бути відкриті для HTTP/HTTPS трафіку |
| DNS | Ваші домени повинні мати A/CNAME записи, що вказують на IP-адресу сервера |
Ліміти ресурсів
Створення Playroom базується на підписці. Кожен план підписки включає ліміт Playroom — наприклад, план Single надає 1 Playroom, а план Multiplayer — до 10. Кілька підписок складають свої ліміти.