Deploy

Run your own Pyrite instance on any VPS with Docker and Caddy.

Self-host on a VPS

Run your own Pyrite instance on any VPS ($6/month, unlimited users, you own your data):

git clone https://github.com/markramm/pyrite.git && cd pyrite
bash deploy/selfhost/setup.sh kb.example.com

This installs Docker, starts Pyrite + Caddy (auto TLS), and seeds the Pyrite KB so you have content to explore immediately.

Create your admin user

docker compose -f deploy/selfhost/docker-compose.yml exec pyrite \
  python /app/deploy/selfhost/create-user.py admin yourpassword

First user always gets admin role. Add more users with the same command (add --admin for admin role).

Update to latest

bash ~/pyrite/deploy/selfhost/update.sh

Local development

For local use without TLS:

docker compose up -d
# Visit http://localhost:8088

Configuration

All settings are configurable via environment variables — no config file editing needed:

VariablePurposeDefault
PYRITE_AUTH_ENABLEDEnable authenticationfalse
PYRITE_AUTH_ANONYMOUS_TIERAnonymous access levelnone
PYRITE_AUTH_ALLOW_REGISTRATIONAllow self-registrationtrue
PYRITE_CORS_ORIGINSAllowed CORS originshttp://localhost:3000
PYRITE_SEARCH_MODEDefault search modekeyword
PYRITE_DATA_DIRData storage path/data

AI provider keys (optional)

ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
GEMINI_API_KEY=...

Users can also configure AI providers in the Settings UI — those settings take precedence.

Included in the Docker image by default. Uses local sentence-transformers model (all-MiniLM-L6-v2) — no API key needed.