Skip to main content

Self-hosting Promptfoo

Promptfoo provides a basic Docker image that allows you to host a server that stores evals. This guide covers various deployment methods.

Self-hosting enables you to:

  • Share evals to a private instance
  • Run evals in your CI/CD pipeline and aggregate results
  • Keep sensitive data off your local machine
Enterprise Customers

If you are an enterprise customer, please do not install this version. Contact us instead for credentials for the enterprise image.

The self-hosted app is an Express server serving the web UI and API.

warning

Self-hosting is not recommended for production use cases.

  • Uses a local SQLite database that requires manual persistence management and cannot be shared across replicas
  • Built for individual or experimental usage
  • No multi-team support or role-based access control.
  • No support for horizontal scalability. Evaluation jobs live in each server's memory and multiple pods cannot share the SQLite database, so running more than one replica (for example in Kubernetes) will lead to "Job not found" errors.
  • No built-in authentication or SSO capabilities

For production deployments requiring horizontal scaling, shared databases, or multi-team support, see our Enterprise platform.

Get started quickly using a pre-built image.

1. Pull the Image​

Pull the latest image or pin to a specific version (e.g., 0.109.1):

# Pull latest
docker pull ghcr.io/promptfoo/promptfoo:latest

# Or pull a specific version
# docker pull ghcr.io/promptfoo/promptfoo:0.109.1

# You can verify image authenticity with: