Author SHA1 Message Date
val 3b3085a44d expiry moved from oidc to node 2026-08-29 11:27:29 +02:00
3wc c80a135a99 chore: publish 0.4.1+v0.29 release 2026-06-17 13:53:43 -04:00
3wc beb68cb6c4 fix: Remove deprecated config option 2026-06-17 13:53:25 -04:00
3wc 53e74e9228 chore: publish 0.4.0+v0.29 release 2026-06-17 11:45:41 -04:00
3wc b9118894ea chore: update image tags 2026-06-17 11:31:17 -04:00
3 changed files with 43 additions and 16 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
# Set any config versions here
# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs
export CONFIG_YAML_VERSION=v5
export CONFIG_YAML_VERSION=v7
+2 -2
View File
@@ -1,7 +1,7 @@
---
services:
app:
image: headscale/headscale:v0.28
image: headscale/headscale:v0.29
networks:
- proxy
command: serve
@@ -22,7 +22,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "coop-cloud.${STACK_NAME}.version=0.3.1+v0.28"
- "coop-cloud.${STACK_NAME}.version=0.4.1+v0.29"
# Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
- "backupbot.backup.path=/var/lib/headscale"
+40 -13
View File
@@ -134,8 +134,45 @@ derp:
# Disables the automatic check for headscale updates on startup
disable_check_updates: false
# Time before an inactive ephemeral node is deleted?
ephemeral_node_inactivity_timeout: 30m
# Node lifecycle configuration.
node:
# Default key expiry for non-tagged nodes, regardless of registration method
# (auth key, CLI, web auth). Tagged nodes are exempt and never expire.
#
# This is the base default. OIDC can override this via oidc.expiry.
# If a client explicitly requests a specific expiry, the client value is used.
#
# Setting the value to "0" means no default expiry (nodes never expire unless
# explicitly expired via `headscale nodes expire`).
#
# Tailscale SaaS uses 180d; set to a positive duration to match that behaviour.
#
# Default: 0 (no default expiry)
expiry: {{ env "EXPIRY" }}
ephemeral:
# Time before an inactive ephemeral node is deleted.
inactivity_timeout: 30m
# HA subnet router health probing.
#
# When HA routes exist (2+ nodes advertising the same prefix), headscale
# pings each HA node every probe_interval via the Noise channel. If a node
# fails to respond within probe_timeout it is marked unhealthy and the
# primary role moves to the next healthy node. A node that later responds
# is marked healthy again but does NOT reclaim primary (avoids flapping).
#
# Worst-case detection time is probe_interval + probe_timeout (15s default).
# No-op when no HA routes exist. Set probe_interval to 0 to disable.
routes:
ha:
# How often to ping HA subnet routers. Set to 0 to disable probing.
# Must be >= 2s when enabled.
probe_interval: 10s
# How long to wait for a ping response before marking a node unhealthy.
# Must be >= 1s and less than probe_interval.
probe_timeout: 5s
database:
# Database type. Available options: sqlite, postgres
@@ -345,15 +382,10 @@ oidc:
# `LoadCredential` straightforward:
client_secret_path: "/run/secrets/oidc_client_key"
# The amount of time a node is authenticated with OpenID until it expires
# and needs to reauthenticate.
# Setting the value to "0" will mean no expiry.
expiry: {{ env "EXPIRY" }}
# Use the expiry from the token received from OpenID when the user logged
# in. This will typically lead to frequent need to reauthenticate and should
# only be enabled if you know what you are doing.
# Note: enabling this will cause `oidc.expiry` to be ignored.
# Note: enabling this will cause `node.expiry` to be ignored for
use_expiry_from_token: false
# The OIDC scopes to use, defaults to "openid", "profile" and "email".
@@ -410,11 +442,6 @@ logtail:
# disabled by default. Enabling this will make your clients send logs to Tailscale Inc.
enabled: false
# Enabling this option makes devices prefer a random port for WireGuard traffic over the
# default static port 41641. This option is intended as a workaround for some buggy
# firewall devices. See https://tailscale.com/kb/1181/firewalls/ for more information.
randomize_client_port: false
# Taildrop configuration
# Taildrop is the file sharing feature of Tailscale, allowing nodes to send files to each other.
# https://tailscale.com/kb/1106/taildrop/