RUN IT WELL
Run Tallylamp with Docker and a persistent volume
The Docker image packages Tallylamp, Chrome, and the display it needs. Keep /data on a persistent volume so replacing the container does not discard your browser profiles.
Start a local deployment
The example below uses the 0.11.6 Linux amd64 release. It includes Full browser capture, ffmpeg, and xdotool. Generate a dashboard password first and save it before closing your shell. The port binding limits this example to your own machine.
export ADMIN_SECRET="$(openssl rand -hex 32)"
# Save ADMIN_SECRET in your password manager.
docker run --rm --platform linux/amd64 \
-p 127.0.0.1:8080:8080 \
-e ADMIN_SECRET \
-e TALLYLAMP_PUBLIC_URL=http://127.0.0.1:8080 \
-v tallylamp-data:/data \
ghcr.io/nxfi777/tallylamp:0.11.6Open http://127.0.0.1:8080 and sign in with ADMIN_SECRET. The MCP endpoint is http://127.0.0.1:8080/mcp. Create an agent in the dashboard and use its token when you connect your client.
Reuse the named data volume
The tallylamp-data volume holds the database and Chrome profiles. Docker's --rm flag removes the container when it exits; it does not delete that named volume. Reuse the same volume name when you start a replacement container.
Do not remove the volume as part of a routine restart. Keep a backup before an upgrade, and protect it because logged-in profiles can contain active credentials. The application expects one service instance to own its data; do not point several replicas at the same profile directory.
For a remote host, add HTTPS
Put the service behind HTTPS
Configure your reverse proxy to reach the service and forward WebSocket connections for the live viewer. Keep Chrome's debugging port private.
Set the public origin
Set TALLYLAMP_PUBLIC_URL to your deployment's HTTPS origin. This is used for cookies and MCP authentication metadata.
Check the public service
Confirm /healthz responds successfully, sign into the dashboard, and try a browser through MCP. Check Watch and Take control as well as the initial page load.
Check architecture and sandbox support
The published release in this example targets Linux amd64. For a native ARM build, clone the service repository and run docker build -t tallylamp ., then use that image name and omit --platform linux/amd64.
Check the dashboard's sandbox and GPU status on your host. Set TALLYLAMP_SANDBOX=on to refuse an unsandboxed Chrome launch. Budget roughly 1–2 GB per active Chrome plus the server, then test your workload before increasing concurrency.
Docs behind this guide
Based on Tallylamp's documented behaviour. See the source for API details and release-specific settings.