feat: documentation website using Vitepress
Adds documentation website using https://vitepress.dev. Some decisions are questionable, for example creation of a symbolic link for the README in the `docs/`. I wanted to preserve the ability to read docs using Github. Maybe not needed. Another issue, is the page outline for the `NixOS` chapter is too narrow. But should serve as a scaffold/basis for doing it properly.
@@ -0,0 +1,47 @@
|
||||
name: Deploy VitePress site to Pages
|
||||
on:
|
||||
push:
|
||||
branches: ["main", "next", "next-nix-generate-docs"]
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
concurrency:
|
||||
group: pages
|
||||
cancel-in-progress: false
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 1
|
||||
- uses: pnpm/action-setup@v3
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
cache: pnpm
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v4
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
- name: Build with VitePress
|
||||
run: pnpm run docs:build
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: docs/.vitepress/dist
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
@@ -6,5 +6,7 @@ node_modules
|
||||
.env
|
||||
app/hp_ssh.wasm
|
||||
app/wasm_exec.js
|
||||
/docs/.vitepress/dist/
|
||||
/docs/.vitepress/cache/
|
||||
|
||||
/.direnv
|
||||
|
||||
@@ -4,15 +4,15 @@
|
||||
<picture>
|
||||
<source
|
||||
media="(prefers-color-scheme: dark)"
|
||||
srcset="./assets/preview-dark.png"
|
||||
srcset="./docs/assets/preview-dark.png"
|
||||
>
|
||||
<source
|
||||
media="(prefers-color-scheme: light)"
|
||||
srcset="./assets/preview-light.png"
|
||||
srcset="./docs/assets/preview-light.png"
|
||||
>
|
||||
<img
|
||||
alt="Preview"
|
||||
src="./assets/preview-dark.png"
|
||||
src="./docs/assets/preview-dark.png"
|
||||
>
|
||||
</picture>
|
||||
|
||||
@@ -44,12 +44,12 @@ There are 2 ways to deploy Headplane:
|
||||
Simple mode does not include the automatic management of DNS and Headplane
|
||||
settings, requiring manual editing and reloading when making changes.
|
||||
|
||||
### Versioning
|
||||
## Versioning
|
||||
Headplane uses [semantic versioning](https://semver.org/) for its releases (since v0.6.0).
|
||||
Pre-release builds are available under the `next` tag and get updated when a new release
|
||||
PR is opened and actively in testing.
|
||||
|
||||
### Contributing
|
||||
## Contributing
|
||||
Headplane is an open-source project and contributions are welcome! If you have
|
||||
any suggestions, bug reports, or feature requests, please open an issue. Also
|
||||
refer to the [contributor guidelines](./docs/CONTRIBUTING.md) for more info.
|
||||
@@ -59,30 +59,30 @@ refer to the [contributor guidelines](./docs/CONTRIBUTING.md) for more info.
|
||||
<picture>
|
||||
<source
|
||||
media="(prefers-color-scheme: dark)"
|
||||
srcset="./assets/acls-dark.png"
|
||||
srcset="./docs/assets/acls-dark.png"
|
||||
>
|
||||
<source
|
||||
media="(prefers-color-scheme: light)"
|
||||
srcset="./assets/acls-light.png"
|
||||
srcset="./docs/assets/acls-light.png"
|
||||
>
|
||||
<img
|
||||
alt="ACLs"
|
||||
src="./assets/acls-dark.png"
|
||||
src="./docs/assets/acls-dark.png"
|
||||
>
|
||||
</picture>
|
||||
|
||||
<picture>
|
||||
<source
|
||||
media="(prefers-color-scheme: dark)"
|
||||
srcset="./assets/machine-dark.png"
|
||||
srcset="./docs/assets/machine-dark.png"
|
||||
>
|
||||
<source
|
||||
media="(prefers-color-scheme: light)"
|
||||
srcset="./assets/machine-light.png"
|
||||
srcset="./docs/assets/machine-light.png"
|
||||
>
|
||||
<img
|
||||
alt="Machine Management"
|
||||
src="./assets/machine-dark.png"
|
||||
src="./docs/assets/machine-dark.png"
|
||||
>
|
||||
</picture>
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
import { defineConfig } from "vitepress";
|
||||
|
||||
// https://vitepress.dev/reference/site-config
|
||||
export default defineConfig({
|
||||
title: "Headplane",
|
||||
description: "Documentation",
|
||||
// base: "https://headplane.net",
|
||||
ignoreDeadLinks: ["/docs/Integrated-Mode", "/docs/Simple-Mode"],
|
||||
themeConfig: {
|
||||
// https://vitepress.dev/reference/default-theme-config
|
||||
nav: [{ text: "Home", link: "/" }],
|
||||
|
||||
sidebar: [
|
||||
{
|
||||
text: "Chapters",
|
||||
items: [
|
||||
{ text: "Getting Started", link: "/README" },
|
||||
{ text: "Configuration", link: "/Configuration" },
|
||||
{ text: "Bare-Metal Mode", link: "/Bare-Metal" },
|
||||
{ text: "Integrated Mode", link: "/Integrated-Mode" },
|
||||
{ text: "Simple Mode", link: "/Simple-Mode" },
|
||||
{ text: "Nix", link: "/Nix" },
|
||||
{ text: "NixOS", link: "/NixOS-options" },
|
||||
{ text: "Security", link: "/SECURITY" },
|
||||
{ text: "Contributing", link: "/CONTRIBUTING" },
|
||||
{ text: "Changelog", link: "/CHANGELOG" },
|
||||
],
|
||||
},
|
||||
],
|
||||
|
||||
socialLinks: [
|
||||
{ icon: "github", link: "https://github.com/tale/headplane" },
|
||||
],
|
||||
|
||||
lastUpdated: {
|
||||
text: "Updated at",
|
||||
formatOptions: {
|
||||
dateStyle: "full",
|
||||
timeStyle: "medium",
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -42,7 +42,7 @@ The structure of this folder is very important and should not be tampered with.
|
||||
|
||||
### Integrated Mode
|
||||
Since you are running Headplane in Bare-Metal, you most likely also are running
|
||||
Headscale in Bare-Metal. Refer to the [**Integrated Mode**](/docs/Integrated-Mode.md)
|
||||
Headscale in Bare-Metal. Refer to the [**Integrated Mode**](./Integrated-Mode.md)
|
||||
guide for instructions on setting up the integrated mode in Native Linux (/proc).
|
||||
|
||||
### Changing the Admin Path
|
||||
@@ -58,7 +58,7 @@ Just keep in mind that the admin path is not configurable at runtime, so you
|
||||
will need to rebuild the project if you want to change it. Also, anything aside
|
||||
from `/admin` is not officially supported and could break in future versions.
|
||||
|
||||
> Refer to the [**Configuration**](/docs/Configuration.md) guide for help with
|
||||
> Refer to the [**Configuration**](./Configuration.md) guide for help with
|
||||
> setting up your `config.yaml` file to the appropriate values.
|
||||
|
||||
### Systemd Unit
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
./../CHANGELOG.md
|
||||
@@ -3,7 +3,7 @@
|
||||
> Since 0.5, you will need to manually migrate your configuration to the new format.
|
||||
|
||||
Headplane uses a configuration file to manage its settings
|
||||
([**config.example.yaml**](../config.example.yaml)). By default, Headplane looks
|
||||
([**config.example.yaml**](https://github.com/tale/headplane/blob/main/config.example.yaml)). By default, Headplane looks
|
||||
for a the file at `/etc/headplane/config.yaml`. This can be changed using the
|
||||
**`HEADPLANE_CONFIG_PATH`** environment variable to point to a different location.
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
<picture>
|
||||
<source
|
||||
media="(prefers-color-scheme: dark)"
|
||||
srcset="../assets/dns-dark.png"
|
||||
srcset="./assets/dns-dark.png"
|
||||
>
|
||||
<source
|
||||
media="(prefers-color-scheme: light)"
|
||||
srcset="../assets/dns-light.png"
|
||||
srcset="./assets/dns-light.png"
|
||||
>
|
||||
<img
|
||||
alt="Integration Preview"
|
||||
src="../assets/dns-dark.png"
|
||||
src="./assets/dns-dark.png"
|
||||
>
|
||||
</picture>
|
||||
|
||||
@@ -21,7 +21,7 @@ deployment method for most users, as it provides a more feature-complete
|
||||
experience.
|
||||
|
||||
## Deployment
|
||||
> If you are not looking to deploy with Docker, follow the [**Bare-Metal**](/docs/Bare-Metal.md) deployment guide.
|
||||
> If you are not looking to deploy with Docker, follow the [**Bare-Metal**](./Bare-Metal.md) deployment guide.
|
||||
> Refer to the `Integrated Mode` section at the bottom for caveats.
|
||||
|
||||
Requirements:
|
||||
@@ -73,7 +73,7 @@ This will result in the Headplane UI being available at the `/admin` path of the
|
||||
server you deployed it on. The `/admin` path is currently not configurable unless
|
||||
you build the container yourself or run Headplane in Bare-Metal mode.
|
||||
|
||||
> Refer to the [**Configuration**](/docs/Configuration.md) guide for help with
|
||||
> Refer to the [**Configuration**](./Configuration.md) guide for help with
|
||||
> setting up your `config.yaml` file to the appropriate values.
|
||||
|
||||
## Docker Integration
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Nix
|
||||
|
||||
[flake.nix](../flake.nix) provided:
|
||||
```
|
||||
[flake.nix](https://github.com/tale/headplane/blob/main/flake.nix) provided:
|
||||
```sh
|
||||
$ nix flake show github:tale/headplane --all-systems
|
||||
github:tale/headplane/ec6d455461955242393b60d9ce60c5123fa9784f?narHash=sha256-CM/vXzUiOed7i1Pp15KyV4FuIvumRlXnpF33dSWZZH4%3D
|
||||
├───checks
|
||||
|
||||
@@ -20,7 +20,7 @@ boolean
|
||||
` true `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ package
|
||||
` pkgs.headplane `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ boolean
|
||||
` false `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -103,7 +103,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ null or absolute path
|
||||
` "/etc/headscale/config.yaml" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ boolean
|
||||
` true `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ null or absolute path
|
||||
` "/var/lib/headplane/extra_records.json" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -209,7 +209,7 @@ null or string
|
||||
` "https://headscale.example.com" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ null or absolute path
|
||||
` "config.sops.secrets.tls_cert.path" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ string
|
||||
` "https://headscale.example.com" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -285,7 +285,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -306,7 +306,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -329,7 +329,7 @@ boolean
|
||||
` false `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -350,7 +350,7 @@ package
|
||||
` pkgs.headplane-agent `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -371,7 +371,7 @@ absolute path
|
||||
` "/var/lib/headplane/agent_cache.json" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -393,7 +393,7 @@ signed integer
|
||||
` 180000 `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -414,7 +414,7 @@ string
|
||||
` "headplane-agent" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -442,7 +442,7 @@ null or absolute path
|
||||
` "config.sops.secrets.agent_pre_authkey.path" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -465,7 +465,7 @@ absolute path
|
||||
` "/var/lib/headplane/agent" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -486,7 +486,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -510,7 +510,7 @@ boolean
|
||||
` true `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -531,7 +531,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -557,7 +557,7 @@ string
|
||||
` "your-client-id" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -583,7 +583,7 @@ null or absolute path
|
||||
` "config.sops.secrets.oidc_client_secret.path" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -604,7 +604,7 @@ boolean
|
||||
` false `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -630,7 +630,7 @@ null or absolute path
|
||||
` "config.sops.secrets.headscale_api_key.path" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -656,7 +656,7 @@ string
|
||||
` "https://provider.example.com/issuer-url" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -683,7 +683,7 @@ string
|
||||
` "https://headscale.example.com/admin/oidc/callback" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -704,7 +704,7 @@ one of “client_secret_post”, “client_secret_basic”, “client_secret_jwt
|
||||
` "client_secret_post" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -730,7 +730,7 @@ absolute path
|
||||
` "/var/lib/headplane/users.json" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -751,7 +751,7 @@ submodule
|
||||
` { } `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -778,7 +778,7 @@ null or absolute path
|
||||
` "config.sops.secrets.headplane_cookie.path" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -801,7 +801,7 @@ boolean
|
||||
` true `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -829,7 +829,7 @@ absolute path
|
||||
` "/var/lib/headplane" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -855,7 +855,7 @@ string
|
||||
` "0.0.0.0" `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -876,6 +876,6 @@ The port to listen on\.
|
||||
` 3000 `
|
||||
|
||||
*Declared by:*
|
||||
- [/nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options\.nix](file:///nix/store/k8cbmm2xy0s8gk2kggksxy6zffzry4jg-source/nix/options.nix)
|
||||
- [nix/options.nix](https://github.com/tale/headplane/blob/main/nix/options.nix)
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
./../README.md
|
||||
@@ -4,10 +4,10 @@ Simple mode enables you to quickly deploy Headplane and is recommended for any
|
||||
testing or simple environments. It does not include the automatic management of
|
||||
DNS and Headplane settings, requiring manual editing and reloading when making
|
||||
changes. If you're looking for a more feature-complete deployment method, check
|
||||
out [**Integrated Mode**](/docs/Integrated-Mode.md).
|
||||
out [**Integrated Mode**](./Integrated-Mode.md).
|
||||
|
||||
## Deployment
|
||||
> If you are not looking to deploy with Docker, follow the [**Bare-Metal**](/docs/Bare-Metal.md) deployment guide.
|
||||
> If you are not looking to deploy with Docker, follow the [**Bare-Metal**](./Bare-Metal.md) deployment guide.
|
||||
|
||||
Requirements:
|
||||
- Docker and Docker Compose
|
||||
@@ -33,5 +33,5 @@ This will result in the Headplane UI being available at the `/admin` path of the
|
||||
server you deployed it on. The `/admin` path is currently not configurable unless
|
||||
you build the container yourself or run Headplane in Bare-Metal mode.
|
||||
|
||||
> Refer to the [**Configuration**](/docs/Configuration.md) guide for help with
|
||||
> Refer to the [**Configuration**](./Configuration.md) guide for help with
|
||||
> setting up your `config.yaml` file to the appropriate values.
|
||||
|
||||
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 111 KiB After Width: | Height: | Size: 111 KiB |
|
Before Width: | Height: | Size: 127 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
@@ -0,0 +1,22 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: "A feature-complete Web UI for Headscale"
|
||||
text: "Documentation"
|
||||
tagline: "A feature-complete Web UI for Headscale"
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Getting Started
|
||||
link: /README
|
||||
|
||||
features:
|
||||
- title: Web SSH
|
||||
details: Connect to machines directly from your browser
|
||||
- title: OIDC
|
||||
details: Login through your favourite SSO provider
|
||||
- title: And many more
|
||||
details: Setup ACLs, DNS, pre-auth keys, etc.
|
||||
---
|
||||
|
||||
@@ -29,7 +29,7 @@ in
|
||||
pnpmDeps = pnpm_10.fetchDeps {
|
||||
inherit pname version src;
|
||||
fetcherVersion = 2;
|
||||
hash = "sha256-GNSpFqPobX6MDPUXxz2XwdZ2Wt7boN8aok52pGgpGoM=";
|
||||
hash = "sha256-0r228fDAMcEmVDE4jrMBRzZyQPp3aE4SyxGp7Oap9dI=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -10,7 +10,10 @@
|
||||
"dev": "HEADPLANE_LOAD_ENV_OVERRIDES=true HEADPLANE_CONFIG_PATH=./config.example.yaml react-router dev",
|
||||
"start": "node build/server/index.js",
|
||||
"typecheck": "tsc",
|
||||
"test": "vitest run"
|
||||
"test": "vitest run",
|
||||
"docs:dev": "vitepress dev docs",
|
||||
"docs:build": "vitepress build docs",
|
||||
"docs:preview": "vitepress preview docs"
|
||||
},
|
||||
"dependencies": {
|
||||
"@dnd-kit/core": "^6.3.1",
|
||||
@@ -67,6 +70,7 @@
|
||||
"@types/node": "^22.15.17",
|
||||
"@types/websocket": "^1.0.10",
|
||||
"drizzle-kit": "^0.31.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lefthook": "^1.11.13",
|
||||
"postcss": "^8.5.4",
|
||||
"react-router-dom": "^7.6.1",
|
||||
@@ -77,7 +81,7 @@
|
||||
"typescript": "^5.8.3",
|
||||
"vite": "^6.3.5",
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"js-yaml": "^4.1.0",
|
||||
"vitepress": "^1.6.4",
|
||||
"vitest": "^3.1.3"
|
||||
},
|
||||
"packageManager": "pnpm@10.4.0",
|
||||
@@ -90,8 +94,14 @@
|
||||
"react-router-hono-server": "patches/react-router-hono-server.patch"
|
||||
},
|
||||
"supportedArchitectures": {
|
||||
"os": ["current", "linux"],
|
||||
"cpu": ["x64", "arm64"]
|
||||
"os": [
|
||||
"current",
|
||||
"linux"
|
||||
],
|
||||
"cpu": [
|
||||
"x64",
|
||||
"arm64"
|
||||
]
|
||||
},
|
||||
"onlyBuiltDependencies": [
|
||||
"@biomejs/biome",
|
||||
|
||||