2024-03-29 19:41:56 -04:00
|
|
|
# Basic Integration
|
|
|
|
|
|
|
|
|
|
The basic integration is not able to offer advanced features such as:
|
|
|
|
|
- Automatic management of Access Control Lists (ACLs)
|
|
|
|
|
- Management of DNS settings for your tailnet
|
|
|
|
|
- Management of the Headscale configuration
|
|
|
|
|
|
|
|
|
|
In order to support these features please refer to the [Advanced Integration](./docs/Advanced-Integration.md) guide.
|
|
|
|
|
Note that in order to use this deployment strategy you need to run Headscale in a Docker container.
|
|
|
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
|
|
|
|
|
Requirements:
|
|
|
|
|
- Headscale 0.23 alpha or later
|
|
|
|
|
- Headscale and Headplane need a Reverse Proxy (NGINX, Traefik, Caddy, etc)
|
|
|
|
|
|
|
|
|
|
Headplane is currently best run in a Docker container due to the easy configuration.
|
|
|
|
|
Here's a very basic `docker-compose.yaml` file that utilizes each configuration variable.
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
version: '3.8'
|
|
|
|
|
services:
|
|
|
|
|
headplane:
|
|
|
|
|
container_name: headplane
|
|
|
|
|
image: ghcr.io/tale/headplane:latest
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
|
|
|
|
- '3000:3000'
|
|
|
|
|
environment:
|
|
|
|
|
HEADSCALE_URL: 'http://headscale:8080'
|
|
|
|
|
COOKIE_SECRET: 'abcdefghijklmnopqrstuvwxyz'
|
2024-05-01 02:43:44 -04:00
|
|
|
|
|
|
|
|
# These are all optional!
|
2024-05-22 12:43:42 -04:00
|
|
|
ROOT_API_KEY: 'abcdefghijklmnopqrstuvwxyz'
|
2024-03-29 19:41:56 -04:00
|
|
|
OIDC_CLIENT_ID: 'headscale'
|
|
|
|
|
OIDC_ISSUER: 'https://sso.example.com'
|
|
|
|
|
OIDC_CLIENT_SECRET: 'super_secret_client_secret'
|
|
|
|
|
DISABLE_API_KEY_LOGIN: 'true'
|
2024-05-01 02:43:44 -04:00
|
|
|
|
|
|
|
|
# These are the default values
|
2024-03-29 19:41:56 -04:00
|
|
|
HOST: '0.0.0.0'
|
|
|
|
|
PORT: '3000'
|
|
|
|
|
```
|
|
|
|
|
|
2024-03-29 19:43:57 -04:00
|
|
|
> For a breakdown of each configuration variable, please refer to the [Configuration](/docs/Configuration.md) guide.
|
2024-03-29 19:41:56 -04:00
|
|
|
> It explains what each variable does, how to configure them, and what the default values are.
|
|
|
|
|
|
|
|
|
|
You may also choose to run it natively with the distributed binaries on the releases page.
|
|
|
|
|
You'll need to manage running this yourself, and I would recommend making a `systemd` unit.
|
2024-04-15 04:06:18 -04:00
|
|
|
|
|
|
|
|
## ACL Configuration
|
|
|
|
|
If you would like to get the web ACL configuration working, you'll need to pass the `ACL_FILE` environment variable.
|
|
|
|
|
This should point to the path of the ACL file on the Headscale server (ie. `ACL_FILE=/etc/headscale/acl_policy.json`).
|