Основные понятия
Проект, домен, прокси, центр сертификации, процесс и сервис: из чего состоит Joppa и как всё это складывается вместе.
Общая схема
Браузер ── https://app.myproject.test ──▶ Прокси Joppa (:443, TLS)
│ сертификат, подписанный локальным CA
├──▶ localhost:5173 сервер разработки (Vite)
└──▶ localhost:8000 API (Laravel)
│
▼
PostgreSQL / Redis / Mailpit…
(контейнеры Docker или Podman)
Проект
Проект — это папка на вашем диске, о которой знает Joppa: имя, значок, домены и, при необходимости, процессы, переменные окружения и закреплённые версии. Имя служит основой для доменов: проект acme получает acme.test и его поддомены.
Удаление проекта из Joppa никогда не удаляет его папку.
Домен
Домен связывает адрес https://…test с локальным портом: https://api.acme.test → localhost:8000. У проекта столько доменов, сколько у него серверов разработки. Любой домен можно выключить, не удаляя его.
Домен верхнего уровня .test зарезервирован IETF для тестирования: он никогда не будет выделен в интернете, поэтому не может конфликтовать с настоящим сайтом.
Прокси
Прокси — это обратный HTTPS-прокси, встроенный в Joppa. Он слушает порты 443 и 80 на 127.0.0.1, выбирает нужный сертификат по запрошенному имени и передаёт запрос на порт домена. Он поддерживает HTTP/2, WebSockets (HMR) и Server-Sent Events. См. HTTPS-прокси.
Центр сертификации
Локальный центр сертификации (CA) на лету подписывает сертификат для каждого домена. Как только система его одобрила, все текущие и будущие домены становятся доверенными. См. Сертификаты.
Процесс
Процесс — это команда, которую Joppa запускает для проекта: скрипт dev из package.json или сервис Docker Compose проекта. Joppa знает их порядок и порт и перезапускает те, что падают. См. Процессы.
Сервис
Сервис — это общий сервер, который Joppa запускает в контейнере: PostgreSQL, MySQL, MariaDB, Redis, Valkey, Mailpit, Typesense, Meilisearch или Reverb. Один сервер обслуживает все ваши проекты; в случае баз данных у каждого проекта своя база данных, а в Reverb — своё приложение. Привязка сервиса к проекту записывает его переменные в .env. См. Сервисы.
Среда выполнения контейнеров
Среда выполнения — это инструмент, который запускает контейнеры сервисов: OrbStack, Docker Desktop, Colima или Podman. Joppa подключается к той, что у вас уже есть, без собственной виртуальной машины или движка; она нужна только для сервисов. См. Среды выполнения контейнеров.
Приложение, терминал и ассистенты
Настольное приложение — сердце Joppa: оно запускает прокси и хранит состояние. Команда joppa, её TUI и MCP-сервер общаются с работающим приложением через локальный API; они делают то же, что и окно.