Compare commits

...

24 Commits

Author SHA1 Message Date
57f7cbd08b chore: publish 3.8.0+v3.6.5 release 2025-12-23 14:16:13 +01:00
c9e326b13c chore(deps): update traefik docker tag to v3.6.5 (#68)
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: coop-cloud/traefik#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)
# 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: coop-cloud/traefik#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
Reviewed-on: coop-cloud/traefik#64
2025-11-20 18:24:11 +00:00
c42914f72a Add renovate.json 2025-11-20 17:50:32 +00:00
268316cc83 Merge pull request 'add MAINTAINERS.md' (#61) from maintainers into master
Reviewed-on: coop-cloud/traefik#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 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
Reviewed-on: coop-cloud/traefik#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
Reviewed-on: coop-cloud/traefik#63
Reviewed-by: p4u1 <p4u1@noreply.git.coopcloud.tech>
2025-11-20 16:55:26 +00:00
5be795b033 Update README.md 2025-11-20 16:42:15 +00:00
7d7481f3ee chore: upgrade to v3.6.2, enables NODES=1 and PING=1 on socket-proxy 2025-11-19 20:44:19 +01:00
92554180a8 chore: publish 3.6.3+v3.4.5 release 2025-11-13 22:24:18 -08:00
1052601523 pump up TRAEFIK_YML_VERSION version 2025-11-14 05:46:15 +00:00
3ae4d8f889 Update MAINTENANCE.md 2025-11-06 09:54:08 +00:00
07d47e087b docs: Adds section on how to configure basic auth 2025-11-05 15:31:06 +01:00
a01ec10d15 update 2025-11-04 18:54:51 +01:00
4ea14d260a add MAINTAINERS.md 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 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 2025-10-22 23:02:24 -04:00
993ed9cf09 Garage support .env addition 2025-10-22 21:09:23 -04:00
1c2302b288 Merge branch 'master' into HEAD 2025-10-22 21:03:58 -04:00
27d5c092de add support for Garage RPC port 2025-10-22 21:01:02 -04:00
10 changed files with 98 additions and 11 deletions

View File

@ -16,7 +16,7 @@ steps:
STACK_NAME: traefik
LETS_ENCRYPT_ENV: production
LETS_ENCRYPT_EMAIL: helo@autonomic.zone
TRAEFIK_YML_VERSION: v22
TRAEFIK_YML_VERSION: v26
FILE_PROVIDER_YML_VERSION: v10
ENTRYPOINT_VERSION: v4
trigger:

View File

@ -131,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
@ -163,3 +167,7 @@ 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

24
MAINTENANCE.md Normal file
View File

@ -0,0 +1,24 @@
# Traefik Recipe Maintenance
All contributions should be made via a pull request. This is to ensure a certain quality / 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
## Merge rules
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.
## Becoming a maintainer
Everyone can apply to be a recipe maintainer. Simply add your self to the list in the [README.md](./README.md) and open a new pull request with the change.

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)
* **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

View File

@ -1,3 +1,3 @@
export TRAEFIK_YML_VERSION=v24
export TRAEFIK_YML_VERSION=v27
export FILE_PROVIDER_YML_VERSION=v10
export ENTRYPOINT_VERSION=v4
export ENTRYPOINT_VERSION=v5

7
compose.garage.yml Normal file
View File

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

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:v3.4.5"
image: "traefik:v3.6.5"
# 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
@ -48,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.5.0+v3.4.5"
- "coop-cloud.${STACK_NAME}.version=3.8.0+v3.6.5"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "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:
@ -72,8 +72,8 @@ services:
- IMAGES=0
- INFO=0
- NETWORKS=1 # Needs access
- NODES=0
- PING=0
- NODES=1
- PING=1
- POST=0
- PLUGINS=0
- SECRETS=0

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,7 +1,7 @@
---
core:
defaultRuleSyntax: v2
log:
level: {{ env "LOG_LEVEL" }}
maxAge: {{ env "LOG_MAX_AGE" }}
@ -33,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"