Compare commits

...

7 Commits
master ... qbit

10 changed files with 51 additions and 12 deletions

View File

@ -16,9 +16,9 @@ steps:
STACK_NAME: traefik
LETS_ENCRYPT_ENV: production
LETS_ENCRYPT_EMAIL: helo@autonomic.zone
TRAEFIK_YML_VERSION: v5
FILE_PROVIDER_YML_VERSION: v4
ENTRYPOINT_VERSION: v1
TRAEFIK_YML_VERSION: v21
FILE_PROVIDER_YML_VERSION: v10
ENTRYPOINT_VERSION: v4
trigger:
branch:
- master

View File

@ -1,6 +1,7 @@
TYPE=traefik
TIMEOUT=300
ENABLE_AUTO_UPDATE=true
ENABLE_BACKUPS=true
DOMAIN=traefik.example.com
LETS_ENCRYPT_ENV=production
@ -42,10 +43,16 @@ COMPOSE_FILE="compose.yml"
## Gandi, https://gandi.net
## note(3wc): only "V5" (new) API is supported, so far
#COMPOSE_FILE="$COMPOSE_FILE:compose.gandi.yml"
#GANDI_ENABLED=1
#COMPOSE_FILE="$COMPOSE_FILE:compose.gandi-api-key.yml"
#GANDI_API_KEY_ENABLED=1
#SECRET_GANDIV5_API_KEY_VERSION=v1
## Gandi, https://gandi.net
## note: uses GandiV5 Personal Access Token
#COMPOSE_FILE="$COMPOSE_FILE:compose.gandi-personal-access-token.yml"
#GANDI_PERSONAL_ACCESS_TOKEN_ENABLED=1
#SECRET_GANDIV5_PERSONAL_ACCESS_TOKEN_VERSION=v1
## DigitalOcean, https://digitalocean.com
#COMPOSE_FILE="$COMPOSE_FILE:compose.digitalocean.yml"
#DIGITALOCEAN_ENABLED=1
@ -140,3 +147,7 @@ COMPOSE_FILE="compose.yml"
# NOTE(3wc): as of 2024-04-01 only the `icecast` recipe uses this
#COMPOSE_FILE="$COMPOSE_FILE:compose.web-alt.yml"
#WEB_ALT_ENABLED=1
## Qbit
#COMPOSE_FILE="$COMPOSE_FILE:compose.qbit.yml"
#QBIT_ENABLED=1

View File

@ -40,8 +40,10 @@ Letsencrypt DNS challenges.
`SECRET_GANDIV5_API_KEY_VERSION`
4. Generate an API key for your provider
5. Run `abra app secret insert YOURAPPDOMAIN SECRETNAME v1 SECRETVALUE`, where
`SECRETNAME` is from the compose file (e.g. `compose.gandi.yml`) e.g.
`SECRETNAME` is from the compose file (e.g. `compose.gandi-api-key.yml`) e.g.
`gandiv5_api_key` and `SECRETVALUE` is the API key.
- For Gandi, you can use either the deprecated API Key or a GandiV5 Personal
Access Token, in which case use compose.gandi-personal-access-token.yml.
6. Redeploy Traefik, using e.g. `abra app deploy YOURAPPDOMAIN -f`
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra

View File

@ -1,3 +1,3 @@
export TRAEFIK_YML_VERSION=v21
export TRAEFIK_YML_VERSION=v22
export FILE_PROVIDER_YML_VERSION=v10
export ENTRYPOINT_VERSION=v3
export ENTRYPOINT_VERSION=v4

View File

@ -0,0 +1,15 @@
version: "3.8"
services:
app:
environment:
- GANDIV5_PERSONAL_ACCESS_TOKEN_FILE=/run/secrets/gandiv5_pat
- LETS_ENCRYPT_DNS_CHALLENGE_ENABLED
- LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER
secrets:
- gandiv5_pat
secrets:
gandiv5_pat:
name: ${STACK_NAME}_gandiv5_pat_${SECRET_GANDIV5_PERSONAL_ACCESS_TOKEN_VERSION}
external: true

8
compose.qbit.yml Normal file
View File

@ -0,0 +1,8 @@
version: "3.8"
services:
app:
environment:
- QBIT_ENABLED
ports:
- "6881:6881/udp"
- "6881:6881/tcp"

View File

@ -49,6 +49,7 @@ services:
- "traefik.http.routers.${STACK_NAME}.middlewares=security@file"
- "coop-cloud.${STACK_NAME}.version=2.8.0+v2.11.10"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:1.26.2-r0-ls26

View File

@ -7,10 +7,6 @@ export OVH_CONSUMER_KEY=$(cat "$OVH_CONSUMER_KEY_FILE")
export OVH_APPLICATION_SECRET=$(cat "$OVH_APPLICATION_SECRET_FILE")
{{ end }}
{{ if eq (env "GANDI_ENABLED") "1" }}
export GANDIV5_API_KEY=$(cat "$GANDIV5_API_KEY_FILE")
{{ end }}
{{ if eq (env "DIGITALOCEAN_ENABLED") "1" }}
export DO_AUTH_TOKEN=$(cat "$DO_AUTH_TOKEN_FILE")
{{ end }}

View File

@ -79,6 +79,12 @@ entrypoints:
matrix-federation:
address: ":9001"
{{ end }}
{{ if eq (env "QBIT_ENABLED") "1" }}
qbit:
address: ":6881"
qbit-udp:
address: ":6881/udp"
{{ end }}
ping:
entryPoint: web