Skip to main content

Deploy on Portainer

Run the systemprompt.io gateway as a Portainer stack from an app template or a Git repository, with Postgres from the public GHCR image.

Portainer deploys the systemprompt.io gateway as a stack: the gateway plus Postgres from the public GHCR image. You can install it from an app template feed or straight from the Git repository.

Pick Portainer when it is already your container management UI and you want the gateway to live alongside your other stacks.

Quickstart: app template feed

  1. Portainer, Settings, App Templates, set the URL to https://raw.githubusercontent.com/systempromptio/systemprompt-template/main/deploy/portainer/templates.json (or merge the entry into your existing custom feed).
  2. App Templates, systemprompt, fill in the form: a strong random POSTGRES_PASSWORD before the first deploy, at least one provider key, and optionally EXTERNAL_URL (Portainer does not inject one automatically).
  3. Deploy the stack. First boot runs migrations and the publish pipeline, so allow several minutes before /api/v1/health on http://<host>:8080 returns 200.

Quickstart: from a Git repository

Skip templates entirely: Stacks, Add stack, Repository, URL https://github.com/systempromptio/systemprompt-template, compose path deploy/compose/one-click.docker-compose.yml.

Required keys

Set at least one of ANTHROPIC_API_KEY, OPENAI_API_KEY, or GEMINI_API_KEY. The container refuses to boot without a provider key. Set POSTGRES_PASSWORD before the first deploy, since the database volume is initialised with it.

TLS

Portainer does not terminate TLS for stacks. Put your usual reverse proxy in front of port 8080 and set EXTERNAL_URL to match, so the gateway advertises the right public URL and CORS origin.

More detail

For the full walkthrough, see the complete Portainer recipe in the template repository. For Portainer itself (app templates, stacks, Git deploys), see the Portainer documentation.