Запуск застосунку
Коли розгортання запущено, вкладка «Застосунок» стає вашою панеллю керування — чотири кнопки життєвого циклу, чинні змінні середовища та журнал у реальному часі.
Вкладка «Застосунок»#
Заголовок показує, що саме працює: контейнер (app-<slug>), його порт, зібраний образ і — відтоді, як з'явилися версії середовища виконання, — базовий образ, на якому його зібрано.
Операції життєвого циклу#
| Кнопка | Що робить | Коли використовувати |
|---|---|---|
| Запустити | запускає зупинений контейнер | ви його зупинили або він зупинився через цикл збоїв |
| Зупинити | зупиняє контейнер; маршрут повертає помилку, доки його знову не запустять | обслуговування або звільнення ресурсів |
| Перезапустити | перезапускає той самий контейнер | процес завис; конфігурацію не змінювали |
| Перестворити | замінює контейнер на основі його поточного образу і перебудовує змінні середовища з усіх джерел; томи зберігаються | ви змінили змінну проєкту або підключену базу даних |
Перестворення не перебудовує образ і не перечитує platform.yaml з вашого вихідного коду — для нового маніфесту виконайте розгортання. Це єдиний спосіб застосувати зміну змінної без збірки, і він означає кілька секунд простою.
Ті самі операції є як POST /api/v1/projects/{id}/app/{start|stop|restart|recreate} і як MCP-інструменти app_start, app_stop, app_restart та app_recreate.
Контейнери завжди перезапускаються після збою
Контейнер застосунку використовує політику перезапуску unless-stopped: якщо процес завершується, його запускають знову, а після перезавантаження хоста весь стек — разом із вашим застосунком — повертається сам. Якщо ви навмисно зупините застосунок, він залишається зупиненим.
Як підключено застосунок#
- Ваш застосунок має слухати
0.0.0.0:$PORT.PORTпередається автоматично; згенерований Dockerfile також його відкриває. - Застосунки використовують мережу хоста всередині свого демона: без мапінгу портів і зайвого мережевого переходу. Оскільки в кожного користувача окремий демон, номери портів мають бути унікальними лише всередині вашого демона.
- TLS завершує платформа. Ваш застосунок працює по звичайному HTTP; не перенаправляйте на HTTPS самостійно на порту
$PORT. - До інших сервісів звертаються за адресою, яка передається змінними: бази даних —
DB_<NAME>_HOST/_PORT, S3 —S3_ENDPOINT.
Ресурси#
Кожен контейнер застосунку обмежений за CPU та пам'яттю:
resources:уplatform.yamlмає пріоритет, якщо вказано;- інакше діє типове значення платформи — 2 CPU і 4 ГіБ на контейнер зі стандартними налаштуваннями, яке може змінити адміністратор;
- адміністратор також може зняти обмеження з будь-якого параметра на всій платформі — тоді контейнер у ньому необмежений.
Фактичне споживання дивіться на вкладці «Метрики».
Постійні дані#
| Куди пише застосунок | Після розгортання чи перестворення |
|---|---|
| файлова система контейнера | втрачається |
шлях із volumes: |
зберігається (і входить до резервних копій проєкту) |
| база даних | зберігається |
| ваш бакет S3 | зберігається |
Журнали#
Картка Журнал у реальному часі має кнопку Стежити за журналом, яка передає потоком stdout і stderr контейнера (server-sent events). Поки застосунок не запущено, кнопка вимкнена.
# останні 200 рядків через REST / MCP (без стеження)
curl -fsS "$BASE/api/v1/projects/$PID/logs?tail=200" -H "Authorization: Bearer $TOKEN"
# MCP: get_logs(project=7, tail=200) — до 5000 рядків
Пишіть журнал у stdout
Платформа показує те, що ваш процес пише в stdout/stderr. Файли всередині контейнера не збираються — і зникають разом із ним.
