Начало работы

Основные понятия

Проект, домен, прокси, центр сертификации, процесс и сервис: из чего состоит 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; они делают то же, что и окно.

getjoppa.com › support

Загрузка

Не отправляется? Напишите на [email protected]. Просто вопрос: [email protected].