Configuration¶
This page shows where Promptfoo keeps evaluations, how to pass a provider key, and how the optional viewer is bounded.
Where things live¶
| Path | What it is |
|---|---|
/usr/local/bin/promptfoo |
The CLI, including promptfoo eval and promptfoo view. |
/opt/promptfoo |
Node and application files. Read-only. |
~/.local/share/promptfoo/promptfoo.db |
Evaluation state. Survives a restart. |
~/promptfoo-results/evaluation-* |
JSON output from the walkthrough. |
/opt/sushi/docs/demo.sh |
Model-free walkthrough. The failing suite exits 100. |
/opt/sushi/bin/promptfoo-run-suite |
Optional Nova Lite example. --bedrock makes eight calls. |
/opt/sushi/docs/README.md |
Image notes for configuration, persistence, and backups. |
/usr/share/doc/promptfoo |
Notices and pinned source. See the overview. |
First boot preserves an existing database and existing result directories.
Your provider¶
Run evaluations as ubuntu:
Store the provider credential in a file that only ubuntu can read. Never
pass the key as a command argument. The provider's own charges apply when the
config calls a model.
The Bedrock example is separate from that file. It uses the instance role:
The role needs bedrock:InvokeModel for amazon.nova-lite-v1:0 in
us-east-1, and the account needs that model enabled. The command makes
eight short requests.
Optional viewer¶
Do not start promptfoo view by hand on a public address. The upstream
viewer has no built-in authentication and no --host flag, and it listens on
network interfaces. The published guide starts it inside a transient systemd
unit:
sudo systemd-run --unit=promptfoo-viewer --uid=ubuntu \
--setenv=HOME=/home/ubuntu \
--property=RuntimeMaxSec=3600 \
--property=IPAddressDeny=any \
--property=IPAddressAllow=localhost \
/usr/local/bin/promptfoo view --no --port 15500
IPAddressAllow=localhost keeps the unit's network inside the instance.
RuntimeMaxSec=3600 stops it after one hour. Stop it earlier with
sudo systemctl stop promptfoo-viewer. Other users on the instance may still
open the results. Keep inbound ports closed, and forward port 15500 with
Session Manager when you review them from your workstation.
There is no viewer password on the image.
Last updated October 27, 2026 · Suggest an improvement