Skip to content

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:

promptfoo eval --config /path/to/your/promptfooconfig.yaml

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:

/opt/sushi/bin/promptfoo-run-suite --bedrock

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