Local Docker Compose
Available for local development
The repository-root Compose environment runs Katra Client, Katra Server, and the selected self-hosted foundation. It is the verified development path, not the production deployment architecture.
docker compose up --buildWait for the Server, Client, PostgreSQL, Redis, Meilisearch, Reverb, Horizon, and LiveKit health checks to settle.
Verify
Section titled “Verify”docker compose psdocker compose exec server php artisan katra:foundation:checkRun the complete project checks when validating a change:
docker compose exec server composer validate --strictdocker compose exec server vendor/bin/pint --testdocker compose exec server php artisan testdocker compose exec client npm run checkdocker compose exec client npm run builddocker compose exec client npm run test:sitesCreate a local account
Section titled “Create a local account”Open http://localhost:5173/register. Provide first name, last name, email address, and a password of at least 12 characters.
Open registration is appropriate only for this trusted local environment. A shared installation requires the planned installer, invitation policy, TLS, and secure cookie configuration.
Optional demonstration data
Section titled “Optional demonstration data”After creating exactly one non-demo account:
docker compose exec server php artisan db:seed --class=LocalCommunicationDemoSeederThe seeder creates disposable local communication records and never runs during normal startup, migrations, registration, or production deployment.
Stop and preserve data
Section titled “Stop and preserve data”docker compose downDestructive reset
Section titled “Destructive reset”docker compose down --volumesdocker compose up --buildThe reset permanently deletes Compose-managed PostgreSQL data, Redis state, Meilisearch indexes, Mailpit messages, and dependency volumes. Use it only when the local data is disposable or backed up.