{% if done %}

OpenBrowse is configured

Your .env has been written with your API key, provider keys and capacity settings.

{% if hw_systemd %}

Restart the service to load the full configuration, then sign in as admin with your dashboard password.

{% else %}

Restart the server to load the full configuration:

sudo systemctl restart openbrowse.service
# or, if you run it manually, stop and re-run uvicorn

Then sign in to the dashboard as admin with your dashboard password, and point browser-use-sdk at http://<this-host>:8420/v3 with your API key.

Open the dashboard {% endif %}

Reach it from anywhere (optional)

To use OpenBrowse from outside this machine without opening ports, install Tailscale:

# private access from your own devices
tailscale up

# or expose the API publicly over TLS with Tailscale Funnel
sudo tailscale funnel --bg 8420
{% else %}

Self-hosted AI browser automation on your own hardware. A couple of minutes of setup and this machine is ready to browse for you.

OpenBrowse

Set a dashboard password

You will sign in to this dashboard as admin with this password. It is stored on this machine only.

Connect a model provider

Sessions think with a language model. Add at least one provider key; each key is checked live against its provider before you continue.

Anthropic Recommended
Powers claude-* models. Get a key at console.anthropic.com.
OpenAI Optional
Powers gpt-* models.
CapSolver Optional
Solves CAPTCHAs that block a session. Does not count towards the provider requirement.

Add a valid Anthropic or OpenAI key to continue.

How much of this machine can OpenBrowse use?

Each session runs a full browser: budget roughly 2GB of RAM and one CPU core per session.

{% if hw_complete %}
Detected: {{ hw_summary }}
Concurrent sessions
Suggested for this machine: {{ hw_hard_max }}. Pick any number you like; each session budgets roughly 2GB RAM and one core.
{% else %} {% endif %}

Your API key

SDK clients authenticate with this key, and it was generated for you just now. Click it to copy; it is shown only during setup.

Copied to clipboard

Tune the host optional

One command sizes this machine for browser sessions: service resource limits, CPU pressure metrics, and a sudo grant so the Settings page can re-tune later. Run it in a terminal on this machine, or skip it and run it any time from Settings.

openbrowse tune --share most

The changes need a reboot to fully apply, so reboot this machine soon after finishing setup.

Downloading the browser

The stealth Chromium build (~200MB) has been downloading since you started setup. It must finish and verify before OpenBrowse restarts, so your first session starts instantly.

    Checking…

    Restart to finish

    {% if hw_systemd %}

    Your configuration is written and the browser is ready. One restart of the service loads everything: credentials, capacity settings and the browser profile. It takes a few seconds, then the sign-in screen appears.

    {% else %}

    Your configuration will be written now. This machine does not run systemd, so restart the server yourself afterwards; instructions follow on the next screen.

    {% endif %}
    {% endif %}