doona
Quick start
Demo
English

Quick start

Start the standard edition of doona with a direct-only honk configuration, sign in, and verify traffic from the gateway itself. Use a Debian or Ubuntu gateway with sudo access and a second way into the machine, such as a console.

1. Install doona and a compatible honk build

Follow Install on Debian or Ubuntu to install the doona-web package and honk-core. Check honk version before choosing the backend: doona needs the native API.

Other platforms:

On the Debian gateway, run:

/usr/local/bin/honk-core --version
ls -l /usr/share/doona-web/index.html

The first command prints the honk build. The second must list the installed UI's index.html.

2. Write the minimal configuration

Run the following commands in one terminal on the gateway. Use ip -4 addr show to find its LAN address, then replace the example address:

ip -4 addr show
LAN_IP=192.168.1.1
sudo install -d -m 0700 /etc/honk /etc/honk/config.d /var/lib/honk

Write /etc/honk/config.dae:

sudo tee /etc/honk/config.dae > /dev/null <<'EOF'
include {
    config.d/*.dae
}

global {
    wan_interface: auto
}

routing {
    fallback: direct
}
EOF

Write /etc/honk/config.d/api.dae:

sudo tee /etc/honk/config.d/api.dae > /dev/null <<EOF
experimental {
    native_api {
        enabled: true
        listen: '${LAN_IP}:9527'
        password_auth: true
        config_write: true
        ui: '/usr/share/doona-web'
    }
}
EOF
sudo cat /etc/honk/config.dae /etc/honk/config.d/api.dae

These are the complete sudo examples from Minimal configuration, with its Debian UI path. The printed API file must contain your address on the listen line. The main file sends traffic directly and attaches honk to the default-route interface. It does not configure a LAN bridge; use the platform variants on the linked page for that setup.

Before starting the service, check the files with:

sudo /usr/local/bin/honk-core --config /etc/honk/config.dae --mock-ebpf

Wait for native API listener ready and honk-core is running. In a second terminal, set LAN_IP again and query the API:

LAN_IP=192.168.1.1
curl "http://$LAN_IP:9527/api"

A native API response with setup_required: true confirms that the API is reachable and no administrator exists yet. Stop the foreground process with Ctrl+C.

3. Start the service

Create the systemd unit in Service management, including its daemon-reload command. Then run on the gateway:

sudo systemctl enable --now honk-core
sudo systemctl status honk-core

The status must show active (running). Run the curl command again to confirm that the service serves the API. If it fails, use the service log instructions on the linked page.

4. Sign in

From the gateway or a device on its LAN, open http://192.168.1.1:9527/ui/, substituting your address. Follow First sign-in to enter a username, password, and password confirmation, then select Create and sign in. If an administrator already exists, sign in with that account.

Successful sign-in opens Activity. Open System status and check that it reports Running, identifies the engine as honk, and lists backend features.

5. Verify routing

On the gateway, check that a request goes out:

curl -I https://example.com

curl must receive an HTTP response.

In doona, open Rules, then Trace simulation. Choose TCP, enter the domain example.com and the destination port 443, and choose Run trace. The result must end at direct.

Direct traffic is forwarded by the kernel, so it does not appear in Connections. Connections lists the traffic that honk handles in userspace, such as traffic sent through a proxy group after you add one.

You now have a direct-only baseline. Continue with adding a subscription, or check feature requirements before enabling additional controls.

doona

doona documentation

English
doona documentationFor a direct-only first run, follow Quick start. Quick startStart the standard edition of doona with a direct-only honk configuration, sign in, and verify traffic from the gateway itself. Standard edition and doona liteThe standard edition manages configuration and observes traffic. Requirements Install on Debian or UbuntuInstall doona from the doona-web .deb package and honk-core from the same release on Debian, Ubuntu or another APT-based system. Install on Fedora or RHELInstall doona from its .rpm package and honk-core from the same release on Fedora, RHEL or another DNF-based system. Install on Arch LinuxInstall doona from its .pkg.tar.zst package and honk-core from the same release on Arch Linux or another pacman-based system. Install on GentooInstall doona with Portage from the repository's ebuild in a local ebuild repository, and honk-core from the same release. Install on OpenWrtInstall doona from a release package or archive and honk-core from the same release on OpenWrt 25.12. Install on other systemsInstall doona and honk-core from release archives on an x86_64 or aarch64 Linux system that meets the kernel requirements below. Installation detailsInstall honk, write its configuration, then install doona and start honk. Minimal configurationThis page writes the smallest honk configuration that starts honk and serves doona, then checks it by starting honk by hand. Service managementThis page runs honk as a systemd or OpenWrt procd service: it creates the service once, then lists the commands that start, stop, restart and reload honk and read its log. Route your first connectionContinue from Quick start, with honk running and your administrator signed in. First sign-inThis page opens doona in a browser, creates the administrator account and checks that doona shows the running honk. Interface tourUse the navigation to open a page, the top bar to search or refresh, and the page tabs to change views. Watching trafficUse Activity and System status to read engine health, and Connections, Routing log and DNS to inspect traffic. Routing, nodes and rulesPolicies manages group selection and membership. Config and settingsConfiguration reads, validates and applies honk's configuration files. Common tasksThis page covers the standard edition; for doona lite, see doona lite. FeaturesFor each feature’s prerequisites and disabled-action explanations, see Feature requirements. doona litedoona lite edits honk configuration through a smaller interface for beginners. Connect doona liteConnect doona lite to the honk native API, or open the demo without a backend. Common tasks in doona liteUse doona lite to import resources and edit honk configuration. ConfigurationUse this reference for honk's DAE settings exposed by doona, their defaults, and their application paths. What doona can changedoona changes configuration sources, runtime state, persistent geodata settings, and browser preferences through different controls. Feature requirementsFind your standard-edition feature in the table, then use its section to check prerequisites and enable it. Troubleshooting DevelopmentRead CONTRIBUTING.md before opening a pull request.