Skip to content

Commit 3b93f2f

Browse files
committed
chore: more docs cleanup/unification
1 parent 1b2d7e3 commit 3b93f2f

6 files changed

Lines changed: 145 additions & 53 deletions

File tree

CHANGELOG.md

Lines changed: 112 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
### 0.6.1 (October 12, 2025)
1+
# 0.6.1 (October 12, 2025)
22
- **Headplane now supports connecting to machines via SSH in the web browser.**
33
- This is an experimental feature and requires the `integration.agent` section to be set up in the config file.
44
- This is built on top of a Go binary that runs in WebAssembly, using Xterm.js for the terminal interface.
@@ -27,7 +27,9 @@
2727
- `oidc.scope` can be set to specify custom scopes (defaults to `openid email profile`).
2828
- `oidc.extra_params` can be set to pass arbitrary query parameters to the authorization endpoint (closes [#197](https://github.com/tale/headplane/issues/197)).
2929

30-
### 0.6.0 (May 25, 2025)
30+
---
31+
32+
# 0.6.0 (May 25, 2025)
3133
- Headplane 0.6.0 now requires **Headscale 0.26.0** or newer.
3234
- Breaking API changes with routes and pre auth keys are now supported (closes [#204](https://github.com/tale/headplane/issues/204)).
3335
- Older versions of Headscale will not work with Headplane.
@@ -52,26 +54,36 @@
5254
- Tighten `proc` integration logic by checking for the `headscale serve` command (via #[195](https://github.com/tale/headplane/pull/195)).
5355
- Strip newlines in the OIDC `client_secret_path` file if provided (closes [#199](https://github.com/tale/headplane/issues/199)).
5456

55-
### 0.5.10 (April 4, 2025)
57+
---
58+
59+
# 0.5.10 (April 4, 2025)
5660
- Fix an issue where other preferences to skip onboarding affected every user.
5761

58-
### 0.5.9 (April 3, 2025)
62+
---
63+
64+
# 0.5.9 (April 3, 2025)
5965
- Filter out empty users from the pre-auth keys page which could possibly cause a crash with unmigrated users.
6066
- OIDC users cannot be renamed, so that functionality has been disabled in the menu options.
6167
- Suppress hydration errors for any fields with a date in it.
6268

63-
### 0.5.8 (April 3, 2025)
69+
---
70+
71+
# 0.5.8 (April 3, 2025)
6472
- You can now skip the onboarding page if desired.
6573
- Added the UI to change user roles in the dashboard.
6674
- Fixed an issue where integrations would throw instead of loading properly.
6775
- Loading the ACL page no longer spams blank updates to the Headscale database (fixes [#151](https://github.com/tale/headplane/issues/151))
6876
- Automatically create `/var/lib/headplane` in the Docker container (fixes [#166](https://github.com/tale/headplane/issues/166))
6977
- OIDC logout with `disable_api_key_login` set to true will not automatically login again (fixes [#149](https://github.com/tale/headplane/issues/149))
7078

71-
### 0.5.7 (April 2, 2025)
79+
---
80+
81+
# 0.5.7 (April 2, 2025)
7282
- Hotfix an issue where assets aren't served under `/admin` or the prefix.
7383

74-
### 0.5.6 (April 2, 2025)
84+
---
85+
86+
# 0.5.6 (April 2, 2025)
7587

7688
### IMPORTANT
7789
> **PLEASE** update to this ASAP if you were using Google OIDC. This is because previously *ANY* accounts have admin access to your Tailnet if they discover the URL that Headplane is being hosted on. This new change enforces that new logins by default are not given any permissions. You will need to re-login to Headplane to generate an owner account and prevent unauthorized access.
@@ -91,10 +103,14 @@ If there are no users, the first user will be given an `owner` role which cannot
91103
- Unknown values in the Headplane config no longer cause a crash.
92104
- Fixed an issue that caused copied commands to have a random space (fixes [#161](https://github.com/tale/headplane/issues/161))
93105

94-
### 0.5.5 (March 18, 2025)
106+
---
107+
108+
# 0.5.5 (March 18, 2025)
95109
- Hotfix an issue that caused Headplane to crash if no agents are available
96110

97-
### 0.5.4 (March 18, 2025)
111+
---
112+
113+
# 0.5.4 (March 18, 2025)
98114
- Fixed a typo in the Kubernetes documentation
99115
- Handle split and global DNS records not being set in the Headscale config (via [#129](https://github.com/tale/headplane/pull/129))
100116
- Stop checking for the `mkey:` prefix on machine registration (via [#131](https://github.com/tale/headplane/pull/131))
@@ -108,20 +124,28 @@ If there are no users, the first user will be given an `owner` role which cannot
108124
- You can now pass in an OIDC client secret through `oidc.client_secret_path` in the config (fixes [#126](https://github.com/tale/headplane/issues/126))
109125
- Correctly handle differently localized number inputs (fixes [#125](https://github.com/tale/headplane/issues/125))
110126

111-
### 0.5.3 (March 1, 2025)
127+
---
128+
129+
# 0.5.3 (March 1, 2025)
112130
- Fixed an issue where Headplane expected the incorrect config value for OIDC scope (fixes [#111](https://github.com/tale/headplane/issues/111))
113131
- Added an ARIA indicator for when an input is required and fixed the confirm buttons (fixed [#116](https://github.com/tale/headplane/issues/116))
114132
- Fixed a typo in the docs that defaulted to `/var/run/docker.dock` for the Docker socket (via [#112](https://github.com/tale/headplane/pull/112))
115133

116-
### 0.5.2 (February 28, 2025)
134+
---
135+
136+
# 0.5.2 (February 28, 2025)
117137
- Hotfixed an issue where the server bundle got reloaded on each request
118138

119-
### 0.5.1 (February 28, 2025)
139+
---
140+
141+
# 0.5.1 (February 28, 2025)
120142
- Fixed an issue that caused the entire server to crash on start
121143
- Fixed the published semver tags from Docker
122144
- Fixed the Kubernetes integration not reading the config
123145

124-
### 0.5 (February 27, 2025)
146+
---
147+
148+
# 0.5 (February 27, 2025)
125149
> This release is a major overhaul and contains a significant breaking change.
126150
> We now use a config file for all settings instead of environment variables.
127151
> Please see [config.example.yaml](/config.example.yaml) for the new format.
@@ -136,10 +160,14 @@ If there are no users, the first user will be given an `owner` role which cannot
136160
- Settings that were previously shared like `public_url` or `oidc` are now separate within Headplane/Headscale. This is a rather large breaking change but fixes cases where a user may choose to utilize Headscale OIDC for Tailscale but not for the Headplane UI.
137161
- Deprecate the `latest` tag in Docker for explicit versioning and `edge` for nightly builds.
138162

139-
### 0.4.1 (January 18, 2025)
163+
---
164+
165+
# 0.4.1 (January 18, 2025)
140166
- Fixed an urgent issue where the OIDC redirect URI would mismatch.
141167

142-
### 0.4.0 (January 18, 2025)
168+
---
169+
170+
# 0.4.0 (January 18, 2025)
143171
- Switched from Remix.run to React-Router
144172
- Fixed an issue where some config fields were marked as required even if they weren't (fixes [#66](https://github.com/tale/headplane/issues/66))
145173
- Fixed an issue where the toasts would be obscured by the footer (fixes [#68](https://github.com/tale/headplane/issues/68))
@@ -152,29 +180,41 @@ If there are no users, the first user will be given an `owner` role which cannot
152180
- Reusable Pre-Auth Keys no longer show expired when used (PR [#88](https://github.com/tale/headplane/pull/88))
153181
- Tweaked some CSS issues in the UI
154182

155-
### 0.3.9 (December 6, 2024)
183+
---
184+
185+
# 0.3.9 (December 6, 2024)
156186
- Fixed a race condition bug in the OIDC validation code
157187

158-
### 0.3.8 (December 6, 2024)
188+
---
189+
190+
# 0.3.8 (December 6, 2024)
159191
- Added a little HTML footer to show the login page and link to a donation page.
160192
- Allow creating pre-auth keys that expire past 90 days (fixes [#58](https://github.com/tale/headplane/issues/58))
161193
- Validates OIDC config and ignores validation if specified via variables or Headscale config (fixes [#63](https://github.com/tale/headplane/issues/63))
162194

163-
### 0.3.7 (November 30, 2024)
195+
---
196+
197+
# 0.3.7 (November 30, 2024)
164198
- Allow customizing the OIDC token endpoint auth method via `OIDC_CLIENT_SECRET_METHOD` (fixes [#57](https://github.com/tale/headplane/issues/57))
165199
- Added a `/healthz` endpoint for Kubernetes and other health checks (fixes [#59](https://github.com/tale/headplane/issues/59))
166200
- Allow `HEADSCALE_PUBLIC_URL` to be set if `HEADSCALE_URL` points to a different internal address (fixes [#60](https://github.com/tale/headplane/issues/60))
167201
- Fixed an issue where the copy machine registration command had a typo.
168202

169-
### 0.3.6 (November 20, 2024)
203+
---
204+
205+
# 0.3.6 (November 20, 2024)
170206
- Fixed an issue where select dropdowns would not scroll (fixes [#53](https://github.com/tale/headplane/issues/53))
171207
- Added a button to copy the machine registration command to the clipboard (fixes [#52](https://github.com/tale/headplane/issues/52))
172208

173-
### 0.3.5 (November 8, 2024)
209+
---
210+
211+
# 0.3.5 (November 8, 2024)
174212
- Quickfix a bug where environment variables are ignored on the server.
175213
- Remove a nagging error about missing cookie since that happens when signed out.
176214

177-
### 0.3.4 (November 7, 2024)
215+
---
216+
217+
# 0.3.4 (November 7, 2024)
178218
- Clicking on the machine name in the users page now takes you to the machine overview page.
179219
- Completely rebuilt the production server to work better outside of Docker and be lighter. More specifically, we've switched from the `@remix-run/serve` package to our own custom built server.
180220
- Fixed a bunch of silly issues introduced by me not typechecking the codebase.
@@ -184,90 +224,120 @@ If there are no users, the first user will be given an `owner` role which cannot
184224
- Added full support for Exit Nodes in the UI and redesigned the machines page (fixes [#36](https://github.com/tale/headplane/issues/36))
185225
- Added a basic check to see if the API keys passed via cookies are invalid.
186226

187-
### 0.3.3 (October 28, 2024)
227+
---
228+
229+
# 0.3.3 (October 28, 2024)
188230
- Added the ability to load a `.env` file from the PWD when `LOAD_ENV_FILE=true` is set as an environment variable.
189231
- Fixed an issue where non-English languages could not create Pre-auth keys due to a localization error
190232
- Improved ACL editor performance by switching back to CodeMirror 6
191233
- Fixed an issue where editing the ACL policy would cause it to revert on the UI (fixes [#34](https://github.com/tale/headplane/issues/34))
192234
- Updated to the next stable beta of the React 19 Compiler ([See More](https://react.dev/learn/react-compiler))
193235

194-
### 0.3.2 (October 11, 2024)
236+
---
237+
238+
# 0.3.2 (October 11, 2024)
195239
- Implement the ability to create and expire pre-auth keys (fixes [#22](https://github.com/tale/headplane/issues/22))
196240
- Fix machine registration not working as expected (fixes [#27](https://github.com/tale/headplane/issues/27))
197241
- Removed more references to usernames in MagicDNS hostnames (fixes [#35](https://github.com/tale/headplane/issues/35))
198242
- Handle `null` values on machine expiry when using a database like PostgreSQL.
199243
- Use `X-Forwarded-Proto` and `Host` headers for building the OIDC callback URL.
200244

201-
### 0.3.1 (October 3, 2024)
245+
---
246+
247+
# 0.3.1 (October 3, 2024)
202248
- Fixed the Docker integration to properly support custom socket paths. This regressed at some point previously.
203249
- Allow you to register a machine using machine keys (`nodekey:...`) on the machines page.
204250
- Added the option for debug logs with the `DEBUG=true` environment variable.
205251

206-
### 0.3.0 (September 25, 2024)
252+
---
253+
254+
# 0.3.0 (September 25, 2024)
207255
- Bumped the minimum supported version of Headscale to 0.23.
208256
- Updated the UI to respect `dns.use_username_in_magic_dns`.
209257

210-
### 0.2.4 (August 24, 2024)
258+
---
259+
260+
# 0.2.4 (August 24, 2024)
211261
- Removed ACL management from the integration since Headscale 0.23-beta2 now supports it natively.
212262
- Removed the `ACL_FILE` environment variable since it's no longer needed.
213263
- Introduce a `COOKIE_SECURE=false` environment variable to disable HTTPS requirements for cookies.
214264
- Fixed a bug where removing Split DNS configurations would crash the UI.
215265

216-
### 0.2.3 (August 23, 2024)
266+
---
267+
268+
# 0.2.3 (August 23, 2024)
217269
- Change the minimum required version of Headscale to 0.23-beta2
218270
- Support the new API policy mode for Headscale 0.23-beta1
219271
- Switch to the new DNS configuration in Headscale 0.23-beta2 (fixes [#29](https://github.com/tale/headplane/issues/29))
220272
- If OIDC environment variables are defined, don't use configuration file values (fixes [#24](https://github.com/tale/headplane/issues/24))
221273

222-
### 0.2.2 (August 2, 2024)
274+
---
275+
276+
# 0.2.2 (August 2, 2024)
223277
- Added a proper Kubernetes integration which utilizes `shareProcessNamespace` for PIDs.
224278
- Added a new logger utility that shows categories, levels, and timestamps.
225279
- Reimplemented the integration system to be more resilient and log more information.
226280
- Fixed an issue where the /proc integration found `undefined` PIDs.
227281

228-
### 0.2.1 (July 7, 2024)
282+
---
283+
284+
# 0.2.1 (July 7, 2024)
229285
- Added the ability to manage custom DNS records on your Tailnet.
230286
- ACL tags for machines are now able to be changed via the machine menu.
231287
- Fixed a bug where the ACL editor did not show the diffs correctly.
232288
- Fixed an issue that stopped the "Discard changes" button in the ACL editor from working.
233289

234-
### 0.2.0 (June 23, 2024)
290+
---
291+
292+
# 0.2.0 (June 23, 2024)
235293
- Fix the dropdown options for machines not working on the machines page.
236294
- Add an option to change the machine owner in the dropdown (aside from the users page).
237295

238-
### 0.1.9 (June 2, 2024)
296+
---
297+
298+
# 0.1.9 (June 2, 2024)
239299
- Switch to Monaco editor with proper HuJSON and YAML syntax highlighting.
240300
- Utilize magic DNS hostnames for the machine overview page.
241301
- Fixed the expiry issue once and for all.
242302
- Add a nightly build with the `ghcr.io/tale/headplane:edge` tag
243303

244-
### 0.1.8 (June 2, 2024)
304+
---
305+
306+
# 0.1.8 (June 2, 2024)
245307
- Built basic functionality for the machine overview page (by machine ID).
246308
- Possibly fixed an issue where expiry disabled machines' timestamps weren't handled correctly.
247309
- Prevent users from being deleted if they still have ownership of machines.
248310
- Fixed some type issues where `Date` was being used instead of `string` for timestamps.
249311

250-
### 0.1.7 (May 30, 2024)
312+
---
313+
314+
# 0.1.7 (May 30, 2024)
251315
- Added support for the `HEADSCALE_INTEGRATION` variable to allow for advanced integration without Docker.
252316
- Fixed a bug where the `expiry` field on the Headscale configuration could cause crashes.
253317
- Made the strict configuration loader more lenient to allow for more flexibility.
254318
- Added `HEADSCALE_CONFIG_UNSTRICT`=true to revert back to a weaker configuration loader.
255319
- Headplane's context now only loads once at start instead of being lazy-loaded.
256320
- Improved logging and error propagation so that it's easier to debug issues.
257321

258-
### 0.1.6 (May 22, 2024)
322+
---
323+
324+
# 0.1.6 (May 22, 2024)
259325
- Added experimental support for advanced integration without Docker.
260326
- Fixed a crash where the Docker integration tried to use `process.env.API_KEY` instead of context.
261327
- Fixed a crash where `ROOT_API_KEY` was not respected in the OIDC flow.
262328

263-
### 0.1.5 (May 20, 2024)
329+
---
330+
331+
# 0.1.5 (May 20, 2024)
264332
- Robust configuration handling with fallbacks based on the headscale source.
265333
- Support for `client_secret_path` on configuration file based OIDC.
266334
- `DISABLE_API_KEY_LOGIN` now works as expected (non 'true' values work).
267335
- `API_KEY` is renamed to `ROOT_API_KEY` for better clarity (old variable still works).
268336
- Fixed button responders not actually being invoked (should fix the ACL page).
269337

270-
### 0.1.4 (May 15, 2024)
338+
---
339+
340+
# 0.1.4 (May 15, 2024)
271341

272342
- Users can now be created, renamed, and deleted on the users page.
273343
- Machines can be dragged between users to change their ownership.
@@ -276,13 +346,17 @@ If there are no users, the first user will be given an `owner` role which cannot
276346
- Upgrade to React 19 beta to take advantage of the compiler (may revert if it causes issues).
277347
- Upgrade other dependencies
278348

279-
### 0.1.3 (May 4, 2024)
349+
---
350+
351+
# 0.1.3 (May 4, 2024)
280352

281353
- Switched to a better icon set for the UI.
282354
- Support stable scrollbar gutter if supported by the browser.
283355
- Cleaned up the header which fixed a bug that could crash the entire application on fetch errors.
284356

285-
### 0.1.2 (May 1, 2024)
357+
---
358+
359+
# 0.1.2 (May 1, 2024)
286360

287361
- Added support for renaming, expiring, removing, and managing the routes of a machine.
288362
- Implemented an expiry check for machines which now reflect on the machine table.
File renamed without changes.

docs/install/docker.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -192,9 +192,6 @@ Keep in mind this won't work on its own as you'll need to configure Traefik
192192
and TLS certificates as needed. This is just a snippet to show how to configure
193193
the routing for Headplane and Headscale.
194194

195-
<details>
196-
<summary>Traefik config snippet</summary>
197-
198195
```yaml
199196
services:
200197
# Same as before
@@ -262,5 +259,4 @@ services:
262259
- '/var/run/docker.sock:/var/run/docker.sock:ro'
263260
- '/path/to/certs/storage:/certs'
264261
```
265-
</details>
266262

docs/install/index.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
---
1+
--
22
title: Installation
33
description: Get started with Headplane.
44
---
@@ -20,3 +20,31 @@ is available to use as a starting point. Some of the important fields include:
2020
| **`headscale.url`** | Point to your Headscale server (e.g., `http://headscale.example.com` or `http://headscale:8080` in Docker). |
2121
| **`server.cookie_secret`** | Used to encrypt cookies. You can generate a random string using a command like `openssl rand -base64 32`. |
2222
| **`server.data_path`** | Just a path to keep in mind, especially if you're using Docker. |
23+
24+
The configuration file is rather complicated and has many more options. Refer to
25+
the [Configuration](../configuration.md) guide for a detailed explanation of all
26+
the available options, as well as guidance on securely setting up your values
27+
through secret path options and environment variables.
28+
29+
## Deployment Methods
30+
Headplane can be deployed in several different ways, each with its own set of
31+
advantages and trade-offs. Choose the method that best fits your needs:
32+
33+
### [Docker](./docker.md): Fast and easy deployment using Docker
34+
- Recommended for most users due to its simplicity and ease of use.
35+
- Allows for advanced features like network management and remote web SSH.
36+
- Requires Docker and Docker Compose to be installed.
37+
38+
---
39+
40+
### [Native Mode](./native-mode.md): Direct installation on a server
41+
- Suitable for users who prefer not to use Docker.
42+
- Allows for advanced features like network management and remote web SSH.
43+
- Requires manual setup of dependencies and environment.
44+
45+
---
46+
47+
### [Limited Mode](./limited-mode.md): Quick and easy deployment with minimal features
48+
- Ideal for testing or simple environments and not intended for production use.
49+
- Lacks any advanced functionality or integrations such as network management
50+
or remote web SSH.

0 commit comments

Comments
 (0)