Bifrost

Self-hosting

Run Bifrost on your own servers

Everything stays inside your infrastructure: the control server, the database and the logs. Setting it up takes an afternoon, and keeping it current is a single command.

Your Linux server1 vCPU · 1 GB RAM for hundreds of devicesCaddyHTTPS, certificatesBifrost controlAPI · console · relay · STUNSQLite on disk · backups to your storageAdminsconsole in a browserPeople's devicesMac · iPhone · LinuxServersbifrostd on LinuxOpen to the internet:TCP 80, 443console, API, relayUDP 3478STUN, for direct paths

Setup

Six steps to a running network

  1. 1

    Get a small Linux server

    Any cloud or your own hardware with a public IP. 1 vCPU and 1 GB of RAM handle hundreds of devices.

  2. 2

    Point a domain at it

    For example vpn.yourcompany.com. Certificates are issued and renewed automatically.

  3. 3

    Start Bifrost

    Two containers with Docker Compose: Bifrost control and Caddy for HTTPS.

  4. 4

    Create the owner account

    Open your domain, set up the first administrator and turn on two-factor.

  5. 5

    Connect your sign-in

    Add Google, Microsoft or your OIDC provider, and SCIM if you use it.

  6. 6

    Invite your team

    People get an email with a link that sets up the app for your server.

What you need

  • A Linux server with Docker and the Compose plugin
  • A domain name you can point at it
  • TCP 80 and 443, and UDP 3478, open to the internet
  • Optional: an identity provider, an SMTP server for email, storage for backups

Running it day to day

  • Updates: change the version, pull and restart; the database migrates itself
  • Backups: a daily copy of the database to your own storage, and an easy restore
  • Monitoring: Prometheus metrics and health checks
  • Devices keep working while the server restarts: tunnels don't depend on it

Want help getting started?

We'll give you access to the release images and walk your team through the setup. A managed, hosted option is coming soon.