Задеплойте demo-decoupled: фронтенд і бекенд окремо
API, фронтенд на nginx і PostgreSQL як окремі сервіси: як вони знаходять один одного і який отримує домен.
demo-decoupled — той самий застосунок, розділений на три сервіси: API на Spring Boot, інтерфейс Angular, який віддає nginx, і PostgreSQL. Він показує, як фронтенд і бекенд живуть поруч в одному проєкті.
Деплой в один клік
- Відкрийте Проєкти й натисніть Задеплоїти демо на картці
demo-decoupled. - Jambotron створить проєкт, завантажить вихідний код, вибере
docker-compose.ymlі запустить деплой. Стежте за логами на сторінці Деплої. - Збираються два образи —
backend(Gradle) іfrontend(збирання Angular + nginx), тому перший деплой триває трохи довше.
Що всередині
services:
demo-decoupled-postgres: # PostgreSQL 16
image: postgres:16-alpine
backend: # API на Spring Boot, порт 8080
build: .
depends_on:
demo-decoupled-postgres:
condition: service_healthy
frontend: # Angular + nginx, порт 80
build: ./spring-angular-ui
depends_on:
backend:
condition: service_healthy
- nginx у
frontendвіддає інтерфейс і проксіює/apiнаhttp://backend:8080— сервіси знаходять один одного за іменем; - браузер звертається лише до
frontend, тож API не потрібен окремий домен;
Відкрийте застосунок
- Відкрийте проєкт → Домени → Додати домен.
- Виберіть сервіс
frontend, введіть піддомен і порт контейнера80. - Відкрийте HTTPS-адресу — інтерфейс завантажиться й звертатиметься до API через nginx.
Якщо API потрібен і ззовні (наприклад, для мобільного застосунку), додайте другий домен для backend з портом 8080.
Власні фронтенд і бекенд
Дотримуйтеся того самого підходу: один публічний сервіс із доменом (nginx або сервер фронтенду), який проксіює API за іменем сервісу, і ліміти пам'яті для важких сервісів. Дивіться гайди про квоти й про застосунки за проксі.