Compare commits

...

73 Commits

Author SHA1 Message Date
ed257bd0b2 remove default TIMEOUT (abra #596)
Some checks failed
continuous-integration/drone/pr Build is failing
2026-01-03 15:31:32 +01:00
7dd833dbec Merge pull request 'anubis support' (#72) from anubis into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #72
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2026-01-03 14:23:39 +00:00
d5f19d3b11 Merge pull request 'feat: pull request template' (#75) from feat-pull-request-template into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #75
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
2026-01-01 19:34:22 +00:00
f16f434877 feat: pull request template
Some checks failed
continuous-integration/drone/pr Build is failing
2026-01-01 20:33:36 +01:00
5d656ccb72 Merge pull request 'chore(deps): update traefik docker tag to v3.6.6' (#76) from renovate/traefik-3.x into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #76
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2026-01-01 17:39:01 +00:00
fa55efb0c3 Merge pull request 'docs: Improve the maintainers docs' (#78) from improve-docs into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #78
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2026-01-01 16:05:42 +00:00
98fe0de193 Merge pull request 'chore: add @javielico as maintainer' (#77) from javielico/traefik:master into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #77
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2026-01-01 16:05:08 +00:00
862bc9a3a5 docs: Improve the maintainers docs
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-30 11:23:22 +01:00
0238b73f77 chore: add @javielico as maintainer
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-30 10:18:46 +00:00
5df55f7833 chore(deps): update traefik docker tag to v3.6.6
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-29 22:20:37 +00:00
5a8c72eb00 refactor: wording, formatting
Some checks failed
continuous-integration/drone/push Build is failing
2025-12-29 21:54:47 +01:00
8eaee04b5d Merge pull request 'Add CurveP256 to the list of cipherSuites' (#73) from ciphersuites into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #73
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-12-29 19:58:50 +00:00
fde0e9fa62 Merge branch 'master' into ciphersuites
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-29 18:24:32 +00:00
c5eac61766 pump up FILE_PROVIDER_YML_VERSION
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-29 10:11:53 -08:00
34d22375d3 Merge pull request 'chore: d1 as maintainer' (#74) from chore-d1-maintainer into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #74
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
2025-12-28 16:44:43 +00:00
bd24d893c2 chore: d1 as maintainer
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-28 10:29:43 +01:00
e647fd9c45 add CurveP256 to the list of cipherSuites
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-27 22:03:45 -08:00
f
92650aa12a feat: serve default robots txt
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-26 13:40:51 -03:00
f
0e38a772e9 feat: anubis open graph cache 2025-12-26 13:29:05 -03:00
f
f469a1a90e doc: readme
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-26 13:23:06 -03:00
f
0d85f97200 fix: traefik complains the network is not set 2025-12-24 19:00:41 -03:00
f
ac33efe73a fix: labels
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-24 18:26:33 -03:00
f
a135d170bb fix: anubis
Some checks failed
continuous-integration/drone/pr Build is failing
2025-12-24 16:58:51 -03:00
f
fa7cf3e17b fix: labels 2025-12-24 16:49:37 -03:00
f
d05c81b4d7 feat: anubis 2025-12-24 16:27:05 -03:00
3830eedfa0 chore: publish 3.9.0+v3.6.5 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2025-12-23 14:26:54 +01:00
1acff756cc feat: support nextcloud talk high performance backend (#66)
Some checks failed
continuous-integration/drone/push Build is failing
This implements the high performance backend for Nextcloud Talk, which is nessecary if it needs to handle more people (video) calling.
More Details about it: https://nextcloud-talk.readthedocs.io/en/latest/quick-install/

The current implementation is sadly limited to be used once per host, so this might need some additional love in the future, if someone needs it more flexible.

The related Nextcloud PR: coop-cloud/nextcloud#56

Co-authored-by: Apfelwurm <Alexander@volzit.de>
Reviewed-on: #66
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2025-12-23 13:25:15 +00:00
57f7cbd08b chore: publish 3.8.0+v3.6.5 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2025-12-23 14:16:13 +01:00
c9e326b13c chore(deps): update traefik docker tag to v3.6.5 (#68)
Some checks failed
continuous-integration/drone/push Build is failing
This handles the [breaking change](https://doc.traefik.io/traefik/v3.6/migrate/v3/#v364) by allowing all encoded characters in the request path

Co-authored-by: Renovate Bot <renovate@coopcloud.tech>
Reviewed-on: #68
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2025-12-23 13:12:44 +00:00
7e688c9094 feat: support UDP proxy of port 2022 and 2023 for P2Panda apps (#70)
Some checks failed
continuous-integration/drone/push Build is failing
# Support P2P communication between P2Panda Apps

Apps built with the set of [P2Panda](https://p2panda.org/) libraries perform P2P communication over two UDP ports. The default ports for these are 2022 and 2023.

There aren't really a lot (any?) P2Panda web apps out there, most are desktop or mobile apps.

So, this change is being specifically request by the [LoRes Tech](https://lores.tech/) project in order to support our [LoRes Node](https://github.com/local-resilience-tech/lores-node/) app. We have a recipe drafted for this [here](https://codeberg.org/lores/lores-node-coop-cloud-recipe) and we will push that to the catalogue once this change is in.

It seems better to make this kiwix change as general as possible, which is why we called the flag `P2PANDA_ENABLED` rather than `LORES_NODE_ENABLED`. In practice if there was a larger ecosystem of such apps, we'd probably need to make the actual port numbers configurable.

Reviewed-on: #70
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
Co-authored-by: Jade Ambrose <jade@noreply.git.coopcloud.tech>
Co-committed-by: Jade Ambrose <jade@noreply.git.coopcloud.tech>
2025-12-22 12:37:50 +00:00
88502ecda4 Merge pull request 'chore: Configure Renovate' (#64) from renovate/configure into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #64
2025-11-20 18:24:11 +00:00
c42914f72a Add renovate.json
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-20 17:50:32 +00:00
268316cc83 Merge pull request 'add MAINTAINERS.md' (#61) from maintainers into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #61
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-11-20 17:07:42 +00:00
7dc902e82b chore: publish 3.7.0+v3.6.2 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-11-20 18:01:44 +01:00
72bc0912f7 Merge pull request 'docs: Adds section on how to configure basic auth' (#62) from basic-auth-docs into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #62
2025-11-20 16:55:53 +00:00
5b4bcbf1b8 Merge pull request 'chore: upgrade to v3.6.2, enables NODES=1 and PING=1 on socket-proxy' (#63) from upgrade-v3.6.2 into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #63
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
2025-11-20 16:55:26 +00:00
5be795b033 Update README.md
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-20 16:42:15 +00:00
7d7481f3ee chore: upgrade to v3.6.2, enables NODES=1 and PING=1 on socket-proxy
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-19 20:44:19 +01:00
92554180a8 chore: publish 3.6.3+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-11-13 22:24:18 -08:00
1052601523 pump up TRAEFIK_YML_VERSION version
Some checks failed
continuous-integration/drone/push Build is failing
2025-11-14 05:46:15 +00:00
3ae4d8f889 Update MAINTENANCE.md
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-06 09:54:08 +00:00
07d47e087b docs: Adds section on how to configure basic auth
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-05 15:31:06 +01:00
a01ec10d15 update
Some checks failed
continuous-integration/drone/pr Build is failing
2025-11-04 18:54:51 +01:00
4ea14d260a add MAINTAINERS.md
Some checks failed
continuous-integration/drone/pr Build is failing
2025-10-31 17:13:56 +01:00
3wc
1a48b9bac8 docs: Fix CI/CD badge link
[ci skip]
2025-10-30 09:45:46 -04:00
7ede5f7cc6 chore: publish 3.6.2+v3.4.5 release
Some checks failed
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is failing
2025-10-27 13:32:31 -04:00
8b06144f54 fix: bump entrypoint version var 2025-10-27 13:25:34 -04:00
6c6b5c66ca chore: publish 3.6.1+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-10-22 23:02:24 -04:00
993ed9cf09 Garage support .env addition
Some checks failed
continuous-integration/drone/push Build is failing
2025-10-22 21:09:23 -04:00
1c2302b288 Merge branch 'master' into HEAD
Some checks failed
continuous-integration/drone/push Build is failing
2025-10-22 21:03:58 -04:00
27d5c092de add support for Garage RPC port 2025-10-22 21:01:02 -04:00
88e1a67146 chore: publish 3.6.0+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-08-28 18:01:23 -04:00
7e7422a593 Expose LOG_MAX_AGE
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #55
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-08-28 18:05:27 +00:00
304915a396 Set default LOG_MAX_AGE
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-27 11:50:13 -04:00
a3ab012d55 revert f2e746344e
Some checks failed
continuous-integration/drone/push Build is failing
revert chore: publish 3.5.1+v3.4.5 release
2025-08-13 19:17:11 +00:00
f2e746344e chore: publish 3.5.1+v3.4.5 release 2025-08-13 19:10:53 +00:00
1ec509eee8 Fixed azure secret variable
Some checks failed
continuous-integration/drone/push Build is failing
2025-08-13 19:05:05 +00:00
52c2cbf7ec chore: publish 3.5.0+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-08-13 05:27:39 -07:00
b8303290de Merge pull request 'feat: add azure DNS-01 challenge support' (#56) from ripclap/traefik:master into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #56
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2025-08-12 19:16:42 +00:00
445feab87c Revert "Updated TRAEFIK_YML_VERSION"
Some checks failed
continuous-integration/drone/pr Build is failing
This reverts commit 2db1a03d94.
2025-08-12 09:44:59 -07:00
b8aa102a01 azure: update code to align with established conventions
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-12 01:21:56 -07:00
2db1a03d94 Updated TRAEFIK_YML_VERSION
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-11 17:37:22 -07:00
c7e510fbad Added Azure DNS 01-Challenge support
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-12 00:20:57 +00:00
f7087646b1 Added Azure DNS 01-Challenge support 2025-08-12 00:20:11 +00:00
8d7f9bd6a2 traefik_yml_version
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-08 22:17:46 -04:00
01c5b2a3a4 Update to Traefik v3
Some checks failed
continuous-integration/drone/pr Build is failing
2025-08-06 18:13:11 -04:00
810e1b0502 chore: publish 3.4.2+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-07-28 14:33:50 +02:00
270af60ba4 chore: publish 3.4.1+v3.4.5 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-07-25 18:14:45 -04:00
27dfc1ae2c chore: publish 3.4.0+v3.4.4 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-07-23 23:14:01 -04:00
2ff2c0d59e Merge pull request 'update to traefik v3' (#54) from sixsmith/traefik:v3-update-only into master
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #54
2025-07-23 00:06:45 +00:00
60ec1191a8 v3: update Traefik
Some checks failed
continuous-integration/drone/pr Build is failing
2025-07-15 15:57:41 -07:00
ff351d4c7f fix drone
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-01 20:02:30 +02:00
4a5cfddb4c chore: publish 3.3.0+v2.11.26 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-07-01 19:40:44 +02:00
21 changed files with 240 additions and 17 deletions

View File

@ -8,7 +8,7 @@ steps:
host: swarm-test.autonomic.zone
stack: traefik
networks:
- proxy
- proxy
deploy_key:
from_secret: drone_ssh_swarm_test
environment:
@ -16,7 +16,7 @@ steps:
STACK_NAME: traefik
LETS_ENCRYPT_ENV: production
LETS_ENCRYPT_EMAIL: helo@autonomic.zone
TRAEFIK_YML_VERSION: v21
TRAEFIK_YML_VERSION: v26
FILE_PROVIDER_YML_VERSION: v10
ENTRYPOINT_VERSION: v4
trigger:

View File

@ -1,5 +1,5 @@
TYPE=traefik
TIMEOUT=300
#TIMEOUT=300
ENABLE_AUTO_UPDATE=true
ENABLE_BACKUPS=true
@ -10,6 +10,7 @@ LETS_ENCRYPT_EMAIL=certs@example.com
# DASHBOARD_ENABLED=true
# WARN, INFO etc.
LOG_LEVEL=WARN
LOG_MAX_AGE=1
# This is here so later lines can extend it; you likely don't wanna edit
COMPOSE_FILE="compose.yml"
@ -58,6 +59,17 @@ COMPOSE_FILE="compose.yml"
#DIGITALOCEAN_ENABLED=1
#SECRET_DIGITALOCEAN_AUTH_TOKEN_VERSION=v1
## Azure, https://azure.com
## To insert your Azure client secret:
## abra app secret insert {myapp.example.coop} azure_secret v1 "<CLIENT_SECRET>"
#COMPOSE_FILE="$COMPOSE_FILE:compose.azure.yml"
#AZURE_ENABLED=1
#AZURE_TENANT_ID=
#AZURE_CLIENT_ID=
#AZURE_SUBSCRIPTION_ID=
#AZURE_RESOURCE_GROUP=
#SECRET_AZURE_SECRET_VERSION=v1
#####################################################################
# Manual wildcard certificate insertion #
#####################################################################
@ -119,6 +131,10 @@ COMPOSE_FILE="compose.yml"
# COMPOSE_FILE="$COMPOSE_FILE:compose.gitea.yml"
# GITEA_SSH_ENABLED=1
## P2Panda UDP
# COMPOSE_FILE="$COMPOSE_FILE:compose.p2panda.yml"
# P2PANDA_ENABLED=1
## Foodsoft SMTP
# COMPOSE_FILE="$COMPOSE_FILE:compose.foodsoft.yml"
# FOODSOFT_SMTP_ENABLED=1
@ -151,3 +167,21 @@ COMPOSE_FILE="compose.yml"
## Matrix
#COMPOSE_FILE="$COMPOSE_FILE:compose.irc.yml"
#IRC_ENABLED=1
## Garage
#COMPOSE_FILE="$COMPOSE_FILE:compose.garage.yml"
#GARAGE_RPC_ENABLED=1
## Nextcloud Talk HPB
#COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud-talk-hpb.yml"
#NEXTCLOUD_TALK_HPB_ENABLED=1
## Anubis
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis.yml"
#ANUBIS_COOKIE_DOMAIN=example.com
#ANUBIS_DOMAIN=anubis.example.com
#ANUBIS_REDIRECT_DOMAINS=
#ANUBIS_OG_PASSTHROUGH=true
#ANUBIS_OG_EXPIRY_TIME=1h
#ANUBIS_OG_CACHE_CONSIDER_HOST=true
#ANUBIS_SERVE_ROBOTS_TXT=true

View File

@ -0,0 +1,15 @@
---
name: "Traefik pull request template"
---
<!--
Thank you for doing recipe maintenance work!
Please mark all checklist items which are relevant for your changes.
Please remove the checklist items which are not relevant for your changes.
Feel free to remove this comment.
-->
* [ ] I have deployed and tested my changes
* [ ] I have [updated relevant versions in `abra.sh`](https://docs.coopcloud.tech/maintainers/upgrade/#updating-versions-in-the-abrash)
* [ ] I have made my environment variable changes [backwards compatible](https://docs.coopcloud.tech/maintainers/upgrade/#backwards-compatible-environment-variable-changes)
* [ ] I have added a [release note entry](https://docs.coopcloud.tech/maintainers/upgrade/#creating-new-release-notes)

32
MAINTENANCE.md Normal file
View File

@ -0,0 +1,32 @@
# Traefik Recipe Maintenance
All contributions should be made via a pull request. This is to ensure a
certain quality and consistency, that others can rely on.
## Maintainer Responsibilities
A recipe maintainer has the following responsibilities:
- Respond to pull requests / issues within a week
- Make image security updates within a day
- Make image patch / minor updates within a week
- Make image major updates within a month
In order to fullfill these responsibilities a recipe maintainer:
- Has to watch the repository (to get notifications)
- Needs to make sure renovate is configured properly
## Pull Requests
A pull request can be merged if it is approved by at least one maintainer. For
pull requests opened by a maintainer they need to be approved by another
maintainer. Even though it is okay to merge a pull request with one approval, it
is always better if all maintainers looked at the pull request and approved it.
## Become a maintainer
Everyone can apply to be a recipe maintainer:
1. Watch the repository to always get updates
2. Simply add your self to the list in the [README.md](./README.md) and open a new pull request with the change.
3. Once the pull request gets merged you will be added to the [traefik maintainers team](https://git.coopcloud.tech/org/coop-cloud/teams/traefik-maintainers).

View File

@ -1,12 +1,14 @@
# Traefik
[![Build Status](https://drone.autonomic.zone/api/badges/coop-cloud/traefik/status.svg)](https://drone.autonomic.zone/coop-cloud/traefik)
[![Build Status](https://build.coopcloud.tech/api/badges/coop-cloud/traefik/status.svg)](https://build.coopcloud.tech/coop-cloud/traefik)
> https://docs.traefik.io
<!-- metadata -->
* **Maintainer**: [@p4u1](https://git.coopcloud.tech/p4u1), [@decentral1se](https://git.coopcloud.tech/decentral1se), [@javielico](https://git.coopcloud.tech/javielico)
* **Status**: `stable`
* **Category**: Utilities
* **Status**: ?
* **Features**: ?
* **Image**: [`traefik`](https://hub.docker.com/_/traefik), 4, upstream
* **Healthcheck**: Yes
* **Backups**: No
@ -23,6 +25,13 @@
your Docker swarm box
4. `abra app deploy YOURAPPDOMAIN`
## Configuring basic auth
1. Create the usersfile locally: `htpasswd -c usersfile <username>`
2. Uncomment the Basic Auth section in your .env file
3. Insert the secret: `abra app secret insert <domain> usersfile v1 -f usersfile
4. Redploy your app: `abra app deploy -f <domain>`
## Configuring wildcard SSL using DNS
Automatic certificate generation will Just Work™ for most recipes which use a fixed
@ -46,4 +55,17 @@ Letsencrypt DNS challenges.
Access Token, in which case use compose.gandi-personal-access-token.yml.
6. Redeploy Traefik, using e.g. `abra app deploy YOURAPPDOMAIN -f`
## Blocking scrapers with [Anubis](https://anubis.techaro.lol/)
Uncomment the lines on the Anubis section of the configuration. Set
a domain name for the cookies and a domain that will serve Anubis
redirection service. Optionally and for [added
security](https://anubis.techaro.lol/docs/admin/configuration/redirect-domains),
set a list of the domain names for the apps that are going to be
protected.
After deploying these changes, go to each recipe that supports Anubis
and follow the process there. **Enabling Anubis here is not enough for
protection your apps.**
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra

View File

@ -1,3 +1,3 @@
export TRAEFIK_YML_VERSION=v22
export FILE_PROVIDER_YML_VERSION=v10
export ENTRYPOINT_VERSION=v4
export TRAEFIK_YML_VERSION=v28
export FILE_PROVIDER_YML_VERSION=v11
export ENTRYPOINT_VERSION=v5

29
compose.anubis.yml Normal file
View File

@ -0,0 +1,29 @@
---
version: "3.8"
services:
app:
deploy:
labels:
- "traefik.http.middlewares.anubis.forwardauth.address=http://anubis:8080/.within.website/x/cmd/anubis/api/check"
anubis:
image: "ghcr.io/techarohq/anubis:v1.24.0"
environment:
BIND: ":8080"
TARGET: " "
REDIRECT_DOMAINS: "${ANUBIS_REDIRECT_DOMAINS}"
COOKIE_DOMAIN: "${ANUBIS_COOKIE_DOMAIN}"
PUBLIC_URL: "https://${ANUBIS_DOMAIN}"
OG_PASSTHROUGH: "${ANUBIS_OG_PASSTHROUGH}"
OG_EXPIRY_TIME: "${ANUBIS_OG_EXPIRY_TIME}"
OG_CACHE_CONSIDER_HOST: "${ANUBIS_OG_CACHE_CONSIDER_HOST}"
SERVE_ROBOTS_TXT: "${ANUBIS_SERVE_ROBOTS_TXT}"
networks:
- proxy
deploy:
labels:
- "traefik.enable=true"
- "traefik.http.routers.anubis.rule=Host(`${ANUBIS_DOMAIN}`)"
- "traefik.http.routers.anubis.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.anubis.entrypoints=web-secure"
- "traefik.http.services.anubis.loadbalancer.server.port=8080"
- "traefik.http.routers.anubis.service=anubis"

17
compose.azure.yml Normal file
View File

@ -0,0 +1,17 @@
version: "3.8"
services:
app:
environment:
- AZURE_TENANT_ID
- AZURE_CLIENT_ID
- AZURE_SUBSCRIPTION_ID
- AZURE_RESOURCE_GROUP
- AZURE_CLIENT_SECRET_FILE=/run/secrets/azure_secret
secrets:
- azure_secret
secrets:
azure_secret:
name: ${STACK_NAME}_azure_secret_${SECRET_AZURE_SECRET_VERSION}
external: true

7
compose.garage.yml Normal file
View File

@ -0,0 +1,7 @@
version: "3.8"
services:
app:
environment:
- GARAGE_RPC_ENABLED
ports:
- "3901:3901"

View File

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

14
compose.p2panda.yml Normal file
View File

@ -0,0 +1,14 @@
version: "3.8"
services:
app:
environment:
- P2PANDA_ENABLED
ports:
- target: 2022
published: 2022
protocol: udp
mode: host
- target: 2023
published: 2023
protocol: udp
mode: host

View File

@ -3,7 +3,7 @@ version: "3.8"
services:
app:
image: "traefik:v2.11.25"
image: "traefik:v3.6.6"
# Note(decentral1se): *please do not* add any additional ports here.
# Doing so could break new installs with port conflicts. Please use
# the usual `compose.$app.yml` approach for any additional ports
@ -27,6 +27,7 @@ services:
environment:
- DASHBOARD_ENABLED
- LOG_LEVEL
- ${LOG_MAX_AGE:-0}
healthcheck:
test: ["CMD", "traefik", "healthcheck"]
interval: 30s
@ -47,12 +48,12 @@ services:
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.service=api@internal"
- "traefik.http.routers.${STACK_NAME}.middlewares=security@file"
- "coop-cloud.${STACK_NAME}.version=3.2.0+v2.11.25"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "coop-cloud.${STACK_NAME}.version=3.9.0+v3.6.5"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:1.26.2-r0-ls30
image: lscr.io/linuxserver/socket-proxy:3.2.10-r0-ls65
deploy:
endpoint_mode: dnsrr
environment:
@ -71,14 +72,14 @@ services:
- IMAGES=0
- INFO=0
- NETWORKS=1 # Needs access
- NODES=0
- PING=0
- NODES=1
- PING=1
- POST=0
- PLUGINS=0
- SECRETS=0
- SERVICES=1 # Needs access
- SESSION=0
- SWARM=0
- SWARM=1
- SYSTEM=0
- TASKS=1 # Needs access
- VERSION=1 # Needs access

View File

@ -11,4 +11,8 @@ export OVH_APPLICATION_SECRET=$(cat "$OVH_APPLICATION_SECRET_FILE")
export DO_AUTH_TOKEN=$(cat "$DO_AUTH_TOKEN_FILE")
{{ end }}
{{ if eq (env "AZURE_ENABLED") "1" }}
export AZURE_CLIENT_SECRET=$(cat "$AZURE_CLIENT_SECRET_FILE")
{{ end }}
/entrypoint.sh "$@"

View File

@ -43,6 +43,7 @@ tls:
curvePreferences:
- CurveP521
- CurveP384
- CurveP256
sniStrict: true
{{ if eq (env "WILDCARDS_ENABLED") "1" }}
certificates:

1
release/3.3.0+v2.11.26 Normal file
View File

@ -0,0 +1 @@
Fix CVE: https://github.com/traefik/traefik/security/advisories/GHSA-vrch-868g-9jx5

1
release/3.4.0+v3.4.4 Normal file
View File

@ -0,0 +1 @@
Updates Traefik from v2 to v3. Migration notes here: https://doc.traefik.io/traefik/migration/v2-to-v3-details/#configuration-details-for-migrating-from-traefik-v2-to-v3 By default, syntax for Traefik rules in recipes still use v2 syntax. To upgrade a recipe to use v3 label syntax, set the ruleSyntax label in the recipe per: https://doc.traefik.io/traefik/reference/routing-configuration/http/router/rules-and-priority/#rulesyntax

1
release/3.4.2+v3.4.5 Normal file
View File

@ -0,0 +1 @@
Bumps the TRAEFIK_YML_VERSION

1
release/3.5.0+v3.4.5 Normal file
View File

@ -0,0 +1 @@
Add support to azure DNS-01 acme challenge

1
release/3.6.0+v3.4.5 Normal file
View File

@ -0,0 +1 @@
Expose log_max_age option. This option controls Traefik's maximum retention for log files in number of days. By default (when LOG_MAX_AGE=0), files are not removed based on age.

6
renovate.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}

View File

@ -1,13 +1,16 @@
---
core:
defaultRuleSyntax: v2
log:
level: {{ env "LOG_LEVEL" }}
maxAge: {{ env "LOG_MAX_AGE" }}
providers:
docker:
swarm:
endpoint: "tcp://socket-proxy:2375"
exposedByDefault: false
network: proxy
swarmMode: true
{{ if eq (env "FILE_PROVIDER_DIRECTORY_ENABLED") "1" }}
file:
directory: /etc/traefik/file-providers
@ -30,10 +33,29 @@ entrypoints:
to: web-secure
web-secure:
address: ":443"
http:
encodedCharacters:
allowEncodedSlash: true
allowEncodedBackSlash: true
allowEncodedNullCharacter: true
allowEncodedSemicolon: true
allowEncodedPercent: true
allowEncodedQuestionMark: true
allowEncodedHash: true
{{ if eq (env "GITEA_SSH_ENABLED") "1" }}
gitea-ssh:
address: ":2222"
{{ end }}
{{ if eq (env "P2PANDA_ENABLED") "1" }}
p2panda-udp-v4:
address: ":2022/udp"
p2panda-udp-v6:
address: ":2023/udp"
{{ end }}
{{ if eq (env "GARAGE_RPC_ENABLED") "1" }}
garage-rpc:
address: ":3901"
{{ end }}
{{ if eq (env "FOODSOFT_SMTP_ENABLED") "1" }}
foodsoft-smtp:
address: ":2525"
@ -83,6 +105,12 @@ entrypoints:
matrix-federation:
address: ":9001"
{{ end }}
{{ if eq (env "NEXTCLOUD_TALK_HPB_ENABLED") "1" }}
nextcloud-talk-hpb:
address: ":3478"
nextcloud-talk-hpb-udp:
address: ":3478/udp"
{{ end }}
ping:
entryPoint: web