Ports and services
The services of the compose stack: what each runs, the ports it listens on and the volumes it keeps.
The whole stack as self-hosting runs it. Settings and secrets come from .env (see .env.example). The project is named after the checkout's folder, so a second checkout gets its own volumes and needs other ports in its .env.
The orbsearch image runs twice: as the Query API and as the indexer.
| Service | Host address | Host port | Port inside |
|---|---|---|---|
postgres | 127.0.0.1 | 5432 (POSTGRES_PORT) | 5432 |
meilisearch | 127.0.0.1 | 7700 (MEILISEARCH_PORT) | 7700 |
orbsearch | 127.0.0.1 (PUBLISH_ADDRESS) | 7800 (ORBSEARCH_PORT) | 7800 |
control | 127.0.0.1 (PUBLISH_ADDRESS) | 8000 (CONTROL_PORT) | 8000 |
postgres
Accounts, releases, imports and index runs.
postgres:18.6-trixie127.0.0.1:${POSTGRES_PORT:-5432}:5432postgres:/var/lib/postgresqlmeilisearch
The search engine, holding only compiled indexes.
getmeili/meilisearch:v1.54.3127.0.0.1:${MEILISEARCH_PORT:-7700}:7700meilisearch:/meili_dataorbsearch
The Query API (orbsearch serve), which storefronts call.
built from crates/orbsearch/Dockerfile${PUBLISH_ADDRESS:-127.0.0.1}:${ORBSEARCH_PORT:-7800}:7800storage:/var/lib/orbsearch:ropostgres, meilisearchStarts once postgres and meilisearch are healthy.
indexer
Index runs (orbsearch index): compiles a catalog snapshot and a release into Meilisearch and swaps them live.
built from crates/orbsearch/Dockerfileindexstorage:/var/lib/orbsearchpostgres, meilisearchStarts once postgres and meilisearch are healthy.
control
The control plane: the panel, the management API under /api/v1, and the schedule that fetches the feed URL.
built from apps/control/Dockerfile${PUBLISH_ADDRESS:-127.0.0.1}:${CONTROL_PORT:-8000}:8000storage:/var/lib/orbsearchpostgresStarts once postgres is healthy.
Volumes
Accounts, releases, imports and index runs.
The search engine, holding only compiled indexes.
Catalog snapshots, written by the control plane, read and cleaned up by the indexer, inspected by the Query API.
Guide: What runs