EvumiDocumentationDashboard

Integrate & operate

Deploy your own instance

Use the repository deployment skill for a concrete, checked server setup.

The repository includes skills/evumi-deployment/SKILL.md. Ask an AI coding agent to read it and deploy to your chosen server. The skill covers requirements, Docker Compose, domain/TLS, secret setup, smoke tests, backups, and rollback. It must inspect existing services and ports before changing a shared host.

Storage and email

  • SQLite holds users, teams, site configuration, and authentication state. Back it up along with the configuration and encryption key.
  • Redis holds durable team event queues. Acknowledging reception and committing an analytics batch are distinct stages. Configure persistence and monitor capacity; a queue is not unlimited storage.
  • DuckDB uses local writable storage and one analytics owner process. Do not place the live database on an S3 filesystem mount or allow app replicas to open it.
  • Private R2/S3 stores snapshots or exported objects. Scope the server credentials to the required bucket. Disable public bucket access and verify restore, not just upload.
  • Resend enables email verification, sign-in codes, and password recovery. Use a verified sender domain and a sending-only API key. Never publish it in frontend configuration.

Platform administration

Bootstrap grants platform administrator status to the first explicitly configured owner. For an existing account, run on the server:

bun scripts/admin.ts grant owner@example.com
bun scripts/admin.ts status owner@example.com

Use revoke to remove this independent role. Team ownership does not imply platform administration. The administrator page lists users, teams, and sites; it does not bypass private report permissions or expose tokens/passwords.

Documentation hosting

The application serves the English documentation at /docs on your own domain. It is built from the Markdown files in docs-site/ and ships with the same Docker image. No additional documentation service or environment variable is needed. API keys link directly to this reference, and /api/openapi.json is generated by the running server.

To update a guide, edit its .mdx file, then build and deploy Evumi. The files use standard Markdown, so the same source can also be published separately with the included Mintlify configuration if desired. Run bun run docs:check to verify the checked-in OpenAPI matches the server specification.