11 Commits

7 changed files with 32 additions and 10 deletions
+2
View File
@@ -25,3 +25,5 @@ ENABLE_DERP=false
# See https://git.coopcloud.tech/coop-cloud/backup-bot-two
ENABLE_BACKUPS=true
# The amount of time a node is authenticated, default is set to 7d
#EXPIRY=0
+2
View File
@@ -12,6 +12,8 @@ certain quality and consistency, that others can rely on.
`ammaratef45` is responsible for responding to pull requests and issues, within a week of them being filed.
`val` is available as backup for both of these tasks.
In order to fulfill these responsibilities a recipe maintainer:
- Has to watch the repository (to get notifications)
+21 -1
View File
@@ -4,7 +4,7 @@
<!-- metadata -->
* **Maintainer**: [@3wc](https://git.coopcloud.tech/3wordchant), [@ammaratef45](https://git.coopcloud.tech/ammaratef45)
* **Maintainer**: [@3wc](https://git.coopcloud.tech/3wordchant), [@ammaratef45](https://git.coopcloud.tech/ammaratef45), [@val](https://git.coopcloud.tech/val)
* **Status**: `stable`
* **Category**: Apps
* **Features**: 3
@@ -24,3 +24,23 @@
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).
## Getting started using headscale
The recipe deploys two containers.
1. One is headscale itself. Note that it's a "distroless" container, so you can't enter with `bash` or `sh`, but you have to run the commands directly.
> The headscale/headscale Docker container is based on a "distroless" image that does not contain a shell or any other debug tools. If you need to debug your application running in the Docker container, you can use the -debug variant, for example headscale/headscale:x.x.x-debug.
>
> https://headscale.net/0.24.1/setup/install/container/#debugging-headscale-running-in-docker
To run the command line do this:
```bash
abra app run yourapp.xyz app -- headscale help
```
2. The UI runs on `https://yourapp.xyz/web`, the UI is a mere frontend (a static site), so no data is saved on a server, so you will need to set URL and API-Key yourself on every client. Find more about the UI [here](https://github.com/gurucomputing/headscale-ui).
For the usage of headscale itself, check the [offical docs](https://headscale.net/stable/usage/getting-started/).
+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=v4
export CONFIG_YAML_VERSION=v6
+4 -2
View File
@@ -1,13 +1,15 @@
---
services:
app:
image: headscale/headscale:v0.28
image: headscale/headscale:v0.29
networks:
- proxy
command: serve
volumes:
# - config:/etc/headscale
- data:/var/lib/headscale
environment:
EXPIRY: ${EXPIRY:-7d}
configs:
- source: config_yaml
target: /etc/headscale/config.yaml
@@ -20,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.0+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"
+1 -6
View File
@@ -348,7 +348,7 @@ oidc:
# 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: 7d
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
@@ -410,11 +410,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/
+1
View File
@@ -0,0 +1 @@
added EXPIRY env (non-breaking)