# systemprompt

## Getting started

1. Before the first deploy, set at least one AI provider key in **Environment**:
   `ANTHROPIC_API_KEY`, `OPENAI_API_KEY`, or `GEMINI_API_KEY`. The container
   will not boot without one.
2. Enable **HTTPS** (Let's Encrypt) on the generated domain. The app validates
   `EXTERNAL_URL` and refuses plain `http://` origins other than localhost —
   with HTTPS off it restart-loops with an "Invalid CORS origin" error.
3. Deploy. The first boot runs database migrations and the publish pipeline;
   allow up to 5 minutes before the healthcheck goes green.
4. Verify at `https://<your-domain>/api/v1/health`, then open the domain root
   for the admin UI.

## Notes

- `POSTGRES_PASSWORD` is auto-generated by the template; `EXTERNAL_URL` is
  derived from the domain you assign.
- Web assets, storage, profile state, and Postgres data persist in the
  `systemprompt_web`, `systemprompt_storage`, `systemprompt_profiles`, and
  `postgres_data` volumes.
- Docs: https://systemprompt.io/documentation/
