-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
Every setting can be set in a YAML config file, in the environment, or on the command line, and a later one wins: default < config < env < args. A setting's file path is its name: redis.host is REDIS_HOST and --redis-host.
The file is named by --config-file or CONFIG_FILE. There is no default location. A file with an unknown key stops the server with the reason.
Where it listens, and where it lives.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
config_file |
CONFIG_FILE |
--config-file |
— | The YAML file read at start. |
transport |
TRANSPORT |
--transport |
http |
http, or stdio for one local client. |
host |
HOST |
--host |
0.0.0.0 |
Address to listen on. |
port |
PORT |
--port |
8000 |
Port to listen on. |
log_level |
LOG_LEVEL |
--log-level |
INFO |
DEBUG, INFO, WARNING or ERROR. |
route_prefix |
ROUTE_PREFIX |
--route-prefix |
/ |
Path the whole server is mounted under. |
public_base_url |
PUBLIC_BASE_URL |
--public-base-url |
— | Where browsers reach this server, for links. |
The bearer token every request needs.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
auth.token |
AUTH_TOKEN |
--auth-token |
— | Bearer token for every request. Unset is open. Sensitive. |
The Selenium Grid it drives.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
grid.url |
GRID_URL |
--grid-url |
http://selenium-grid-selenium-hub.flow.svc.cluster.local:4444 |
The Selenium Grid hub. |
grid.console_url |
GRID_CONSOLE_URL |
--grid-console-url |
/ |
Where the Grid console tab is framed from. |
How sessions are kept, and how new browsers open.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
session.store |
SESSION_STORE |
--session-store |
memory |
memory; redis.host or redis.url switches it to redis. |
session.ttl |
SESSION_TTL |
--session-ttl |
86400 |
Seconds a session is kept after its last use. |
session.browser |
SESSION_BROWSER |
--session-browser |
— | chrome or firefox, for new sessions. |
session.width |
SESSION_WIDTH |
--session-width |
— | Window width for new sessions. |
session.height |
SESSION_HEIGHT |
--session-height |
— | Window height for new sessions. |
session.page_load_timeout |
SESSION_PAGE_LOAD_TIMEOUT |
--session-page-load-timeout |
— | Seconds a page may take to load. |
session.script_timeout |
SESSION_SCRIPT_TIMEOUT |
--session-script-timeout |
— | Seconds a script may run. |
The session store’s connection.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
redis.url |
REDIS_URL |
--redis-url |
— | A full Redis URL, instead of host and port. Sensitive. |
redis.host |
REDIS_HOST |
--redis-host |
localhost |
Redis host. |
redis.port |
REDIS_PORT |
--redis-port |
6379 |
Redis port. |
redis.db |
REDIS_DB |
--redis-db |
0 |
Redis database number. |
redis.username |
REDIS_USERNAME |
--redis-username |
— | Redis username. |
redis.password |
REDIS_PASSWORD |
--redis-password |
— | Redis password. Sensitive. |
redis.ssl |
REDIS_SSL |
--redis-ssl |
false |
Connect to Redis over TLS. |
redis.prefix |
REDIS_PREFIX |
--redis-prefix |
selenium-flow:session: |
Prefix on every key, so a shared database is safe. |
Saved flows and kept files.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
flow.data_dir |
FLOW_DATA_DIR |
--flow-data-dir |
— | Where flows and kept files live. Unset turns flows off. |
Where secrets are read from.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
secrets.dirs |
SECRETS_DIRS |
--secrets-dirs |
— | Directories of secrets. First match wins. |
What MCP clients are offered beyond tools.
| Config | Env | Flag | Default | What |
|---|---|---|---|---|
mcp.skill |
MCP_SKILL |
--mcp-skill |
true |
Serve the agent skill as resources. |
mcp.apps |
MCP_APPS |
--mcp-apps |
true |
Offer MCP Apps views. |
# /etc/selenium-flow/config.yaml
session:
ttl: 86400
redis:
host: redis.data
db: 2export CONFIG_FILE=/etc/selenium-flow/config.yaml
export GRID_URL=http://selenium-hub:4444
selenium-flow --log-level DEBUGThe Settings tab of the admin UI shows every value and where it came from.
session.page_load_timeout: with no bound, one hung page holds a Grid slot
until the Grid reaps it.
An environment variable the server does not know is ignored: Kubernetes
injects <SERVICE>_PORT variables into every pod. A key the file does not
know stops the boot, because it is a typo.
The exception: a Kubernetes Service literally named redis injects
REDIS_PORT=tcp://…, which is a known leaf and stops the boot on a value
that was never meant as one. Hence enableServiceLinks: false on the pod.
secrets.dirs splits like PATH, on the OS path separator (:). A boolean
setting accepts true/false, 1/0, yes/no and on/off.
The file's secrets.entries section defines secrets. See Secrets.
The action pages are generated from openapi.yaml, which is itself generated from the live MCP tool schemas — so they describe the server that shipped, not the one someone remembered. Prose belongs in wiki-notes/<tool>.md in the repo.
selenium-flow · MIT
Start here
Guides
Lifecycle
Going places
Doing things
Getting things out