DinD HostingПосібник
ENУК
Огляд/Посібник/Збірка й розгортання
РОЗДІЛ 03

Проєкти та сайти

Проєкт — це одиниця розгортання. Він об'єднує один вебзастосунок із його базами даних, доменами, змінними та резервними копіями — і дає всьому цьому стабільне ім'я.

Створення проєкту#

На сторінці Проєкти натисніть + Новий проєкт і заповніть три поля.

hosting.example.com/
Новий проєкт
Діалог створення проєкту. (1) slug стає першою частиною імені сайту, (2) базовий домен — суфікс. Відображувана назва за замовчуванням дорівнює slug.
bash
curl -fsS -X POST "$BASE/api/v1/projects" \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{"slug":"blog","display_name":"Blog","base_domain":"example.com"}'

Відповідає 201 з проєктом (разом із числовим id, статусом і доменами). Дублікат slug — 409; некоректний slug чи домен — 422.

create_project(slug="blog", display_name="Blog", base_domain="example.com")

Відповідь містить автоматичний домен; у фоновому режимі запускається перевірка за можливості (best-effort).

hosting.example.com/
Проєкти
Сторінка «Проєкти». (1) створення проєкту, (2) автоматичний домен, (3) «Видалити» видаляє проєкт і все, що до нього прив'язано.
Поле Правило
Slug 2–40 символів: a-z, 0-9 і -, починається з літери або цифри. Унікальний для кожного користувача — двоє користувачів можуть мати blog.
Відображувана назва Довільний текст до 120 символів; показується в консолі.
Базовий домен Справжній домен із доменом верхнього рівня (example.com, а не localhost). Це суфікс кожного автоматичного імені сайту.

Як формуються імена сайтів#

Кожен проєкт отримує автоматичний домен одразу після створення:

<slug>.<alias>.<base_domain>          blog.alex.example.com

Псевдонім належить вам (його задав адміністратор під час створення вашого облікового запису), тож двоє користувачів можуть використати той самий slug під одним базовим доменом без конфліктів. Якщо ім'я вже зайняте — ім'я хоста належить лише одному проєкту на всій платформі, — створення завершується помилкою 409 … pick another slug or base domain, і нічого не залишається.

DNS — поза проєктом

Ім'я працює в Інтернеті лише тоді, коли DNS вказує на вхідний шлюз (ingress) платформи. Запитайте адміністратора, як публікуються автоматичні імена, — зазвичай це один wildcard-запис для базового домену. Про власні імена див. Домени та TLS.

Один проєкт — один застосунок#

У цій версії проєкт має рівно один вебзастосунок. Потрібен другий сервіс? Створіть другий проєкт — проєкти дешеві, використовують ваш спільний демон і можуть користуватися тими самими обліковими даними бази даних чи бакета S3.

Належить проєкту Спільне для всіх ваших проєктів
застосунок і його розгортання · змінні проєкту · бази даних · домени · резервні копії проєкту ваш демон застосунків · ваш бакет S3 <alias>-files · ваші API-токени

Видалення проєкту#

Червона кнопка Видалити просить підтвердження, а потім послідовно знищує:

  1. усі бази даних проєкту (контейнер і том даних);
  2. усі резервні копії проєкту, включно з дампами його баз даних;
  3. контейнер застосунку;
  4. маршрути проєкту та, у режимі TLS dev, його сертифікати;
  5. резервування порту застосунку, змінні проєкту і, нарешті, записи розгортань, застосунку та доменів.

Видалення незворотне

Резервні копії видаляються разом із проєктом, тож відновити його з них неможливо. Спершу створіть дампи баз даних і завантажте все потрібне — див. Резервні копії та відновлення.