Skip to content

CLI flags

All flags go to the websummoner binary (or after the image name when using docker run). Durations use Go format: 30s, 5m, 1h5m.

FlagDefaultDescription
-listen:4444Network address to accept connections on
-confconfig/browsers.jsonPath to the browsers configuration file
-disable-image-discoveryfalseDo not add browsers found from image labels
-log-conf—Path to the container logging configuration file
-limit5Maximum simultaneous browser containers
-retry-count1New-session attempts before giving up
-disable-queuefalseDisable the wait queue (fail instead of waiting when -limit is reached)
-version—Print version and exit

The /metrics endpoint is always available (no flag needed) — see Usage statistics.

FlagDefaultDescription
-timeout1m0sSession idle timeout
-max-timeout1h0m0sUpper bound for per-session sessionTimeout capability
-session-attempt-timeout30sTimeout for a single new-session attempt
-queue-timeout—Wait budget for a new session, and the interval a busy queue is tolerated — see Session queue
-queue-congestion-timeout-queue-timeout / 10Wait budget once the grid is shedding
-session-delete-timeout30sTimeout for deleting a session
-service-startup-timeout30sTimeout for a browser container/driver to start
-graceful-period5m0sGraceful shutdown period (finish live sessions)

-queue-timeout enables admission control: a request that has queued too long is refused with 429 instead of waiting forever, and the hub shortens that budget once it detects it has stopped keeping up. Both numbers derive from that one flag.

See Session queue for how the two states work, a worked example, and how to tell the two kinds of 429 apart.

FlagDefaultDescription
-video-output-dirvideoDirectory for recorded video files
-video-recorder-imagewebsummoner/video-recorder:latest-releaseImage used to record video
-har-output-dir—Directory for HAR files; unset disables HAR capture
-log-output-dir—Directory for saved session logs
-save-all-logsfalseSave logs for every session, ignoring capabilities
-capture-driver-logsfalseAdd driver process logs to WebSummoner output (drivers mode only)
FlagDefaultDescription
-disable-dockerfalseDrivers mode — run browsers as local processes, no Docker needed
-disable-privilegedfalseStart browser containers without --privileged
-container-networkdefaultDocker network for browser containers
-cpu—CPU limit per container as float, e.g. 0.2 or 1.0
-mem—Memory limit per container, e.g. 128m or 1g
-enable-file-uploadfalseEnable the file upload API

Only available in binaries built with S3 support (the release binaries and the standard Docker image include it). See Uploading files to S3 for a full walkthrough.

FlagDefaultDescription
-s3-endpoint—S3 endpoint URL (leave empty for AWS)
-s3-region—S3 region
-s3-access-key—S3 access key
-s3-secret-key—S3 secret key
-s3-bucket-name—Target bucket
-s3-key-pattern$fileNameKey pattern for uploaded objects
-s3-include-files—Glob pattern of files to include
-s3-exclude-files—Glob pattern of files to exclude
-s3-keep-filesfalseKeep local files after uploading
-s3-reduced-redundancyfalseUse reduced redundancy storage class
-s3-force-path-stylefalseForce path-style addressing (needed by some S3 clones)

Running the binary directly:

Terminal window
./websummoner -conf ~/.websummoner/websummoner/browsers.json -limit 10

Passing flags to the containerized version — everything after the image name reaches websummoner:

Terminal window
docker run -d --name websummoner \
-p 4444:4444 \
-v ~/.websummoner/websummoner/:/etc/websummoner/:ro \
-v /var/run/docker.sock:/var/run/docker.sock \
websummoner/websummoner:latest-release \
-conf /etc/websummoner/browsers.json -limit 10 -video-output-dir /opt/websummoner/video/