Skip to content

Repository files navigation

Plainbase Ask

An AI-powered customer support widget you self-host. Connects to your knowledge base, answers questions, and escalates to a ticket when needed.

Check out all Plainbase tools at plainbase.dev.

Quick start

1. Clone and configure:

cp .env.example .env
# Fill in AI_PROVIDER, AI_API_KEY, AI_MODEL, EMBEDDING_MODEL
# Fill out `ADMIN_EMAIL` and `ADMIN_PASSWORD` to automatically create the admin account on startup.

2. Start:

docker compose up -d --build

3. Create your account: on first boot the app logs a one-time setup token. Check the logs and open /admin/setup to create your owner account. (optional, set env vars to skip)

docker compose logs plainbase-ask | grep "First-run"

4. Open the admin at http://localhost:3000/admin, add your documents, and configure the widget.

5. Embed the widget by copying the snippet from the Widget page in the admin and pasting it into your site.

For production, put a reverse proxy in front (Coolify, Koyeb, Railway, or your own Nginx/Caddy) to handle HTTPS. The app listens on port 3000.

Backups

The app stores data in two SQLite files. Litestream is bundled in the Docker image and can stream both files to any S3-compatible bucket in real time — just set LITESTREAM_S3_BUCKET and credentials in .env.

Contributing

npm install
npm test

Tests use Vitest and run against an in-memory SQLite database — no environment variables or external services needed. The LLM is mocked so API keys are not required.

Full documentation

See docs/00-getting-started.md for:

  • How the app works and sizing guidance
  • Recommended European hosting providers (Hetzner, Scaleway, Koyeb…)
  • Litestream backup setup (Scaleway, Cloudflare R2, MinIO)
  • Full environment variable reference

About

Self-hosted AI customer support widget — connects to your knowledge base, answers questions, escalates to tickets.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages