diff --git a/config.example.yaml b/config.example.yaml index 94f9eab..a1f1dbd 100644 --- a/config.example.yaml +++ b/config.example.yaml @@ -42,6 +42,16 @@ headscale: # If you want to disable this validation, set this to false. config_strict: true + # If you are using `dns.extra_records_path` in your Headscale + # configuration, you need to set this to the path for Headplane + # to be able to read the DNS records. + # + # Pass it in if using Docker and ensure that the file is both + # readable and writable to the Headplane process. + # When using this, Headplane will no longer need to automatically + # restart Headscale for DNS record changes. + # dns_records_path: "/var/lib/headplane/extra_records.json" + # Integration configurations for Headplane to interact with Headscale integration: agent: diff --git a/docs/Headplane-Agent.md b/docs/Headplane-Agent.md deleted file mode 100644 index 828ca38..0000000 --- a/docs/Headplane-Agent.md +++ /dev/null @@ -1,33 +0,0 @@ -# Headplane Agent - -> This is currently not available in Headplane. -> It is incomplete and will land within the next few releases. - -The Headplane agent is a lightweight service that runs alongside the Headscale server. -It's used to interface with devices on your network locally, unlocking the following: - -- **Node Information/Status**: View Tailscale versions, OS versions, and connection details. -- **SSH via Web (Soon)**: Connect to devices via SSH directly from the Headplane UI. - -It's built on top of [tsnet](https://tailscale.com/kb/1244/tsnet), the official -set of libraries published by Tailscale for creating local services that can -join the tailnet. -While it isn't required to run the agent, it's highly recommended to get the -closest experience to the SaaS version of Tailscale. This is paired with the -integrations provided by Headplane to manage DNS and Headscale settings. - -### Installation -The agent can either be ran as a standalone binary or as a Docker container. -Agent binaries are available on the [releases](https://github.com/tale/headplane/releases) page. -The Docker image is available through the `ghcr.io/tale/headplane-agent` tag. - -The agent requires the following environment variables to be set: -- **`HEADPLANE_AGENT_DEBUG`**: Enable debug logging if `true`. -- **`HEADPLANE_AGENT_HOSTNAME`**: A hostname you want to use for the agent. -- **`HEADPLANE_AGENT_TS_SERVER`**: The URL to your Headscale instance. -- **`HEADPLANE_AGENT_TS_AUTHKEY`**: An authorization key to authenticate with Headscale (see below). -- **`HEADPLANE_AGENT_HP_SERVER`**: The URL to your Headplane instance, including the subpath (eg. `https://headplane.example.com/admin`). -- **`HEADPLANE_AGENT_HP_AUTHKEY`**: The generated auth key to authenticate with Headplane. - -If you already have Headplane setup, you can generate all of these values within -the Headplane UI. Navigate to the `Settings` page and click `Agent` to get started. diff --git a/docs/Integrated-Mode.md b/docs/Integrated-Mode.md index b60492f..764006c 100644 --- a/docs/Integrated-Mode.md +++ b/docs/Integrated-Mode.md @@ -44,6 +44,10 @@ services: # This should match headscale.config_path in your config.yaml - './headscale-config/config.yaml:/etc/headscale/config.yaml' + # If using dns.extra_records in Headscale (recommended), this should + # match the headscale.dns_records_path in your config.yaml + - './headscale-config/dns_records.json:/etc/headscale/dns_records.json' + # Headplane stores its data in this directory - './headplane-data:/var/lib/headplane'