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.
On this page
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
- 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). - App Templates, systemprompt, fill in the form: a strong random
POSTGRES_PASSWORDbefore the first deploy, at least one provider key, and optionallyEXTERNAL_URL(Portainer does not inject one automatically). - Deploy the stack. First boot runs migrations and the publish pipeline, so allow several minutes before
/api/v1/healthonhttp://<host>:8080returns 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.