This repository contains the Directus configuration and setup for the Kiron data applications.
Directus is used as a headless CMS and API platform for managing data in the Kiron ecosystem.
- Copy
.env.exampleto.env.stagingand fill in real values. - Create (or switch to) a Docker context pointing at sentinel — see Sentinel deployment below.
- Run the sentinel compose command from your MBP using that context.
- Access Directus over LAN at
http://sentinel.local:8055(adjust hostname if different).
MBP-local development is not documented yet; that workflow depends on the follow-up docker-compose.mbp.yml overlay.
docker-compose.yml— portable base (no host port bindings, no host-specific mounts)docker-compose.sentinel.yml— staging overlay for the sentinel hostextensions/— custom Directus extensionsuploads/— file uploads storage
This repo follows a Kestra-style two-file compose layout (see kestra-kiron):
the base docker-compose.yml is portable and gets composed with a per-target
overlay at deploy time. The previous --profile local/staging layout has been
removed; an MBP-local dev overlay (docker-compose.mbp.yml) is a follow-up task.
Sentinel is the staging host. Deployment is driven from your MBP via a Docker context — you do not need to SSH into sentinel and run commands there.
# Create a Docker context that targets sentinel over SSH
docker context create sentinel --docker "host=ssh://sentinel.local"Adjust the host if your sentinel's hostname or IP differs.
git pull
cp .env.example .env.staging # first time only; fill in real values
docker --context sentinel compose -f docker-compose.yml -f docker-compose.sentinel.yml up -dOr set the context as active for the session:
docker context use sentinel
docker compose -f docker-compose.yml -f docker-compose.sentinel.yml up -dLAN access from MBP: http://sentinel.local:8055 (adjust hostname if different).
Sentinel connects to the cloud Supabase prod project
toyorzhdbqthqcnsdjgx. Do not run a local Supabase docker on sentinel.
Before first bring-up, provision a dedicated DB user with access to the
directus schema (separate Supabase MCP task — not part of this compose
refactor). The sentinel's .env.staging should reference that user, not the
shared postgres superuser.
Secrets live in .env.staging only. 1Password / op run integration is out
of scope for this layout; treat .env.staging as the source of truth on your
MBP (gitignored).
The main configuration is handled through environment variables. See
.env.example for the full required and optional set.
This repository is a submodule of the main db-schema project.