Compare commits

...

8 Commits

6 changed files with 62 additions and 40 deletions

View File

@ -185,3 +185,6 @@ COMPOSE_FILE="compose.yml"
#ANUBIS_OG_EXPIRY_TIME=1h #ANUBIS_OG_EXPIRY_TIME=1h
#ANUBIS_OG_CACHE_CONSIDER_HOST=true #ANUBIS_OG_CACHE_CONSIDER_HOST=true
#ANUBIS_SERVE_ROBOTS_TXT=true #ANUBIS_SERVE_ROBOTS_TXT=true
## Enable onion service support
#ONION_ENABLED=1

View File

@ -1,5 +1,6 @@
--- ---
name: "Traefik pull request template" name: "Traefik pull request template"
about: "Traefik pull request template"
--- ---
<!-- <!--

View File

@ -68,4 +68,8 @@ After deploying these changes, go to each recipe that supports Anubis
and follow the process there. **Enabling Anubis here is not enough for and follow the process there. **Enabling Anubis here is not enough for
protection your apps.** protection your apps.**
## Enabling onion service
Uncomment the line in the config setting `ONION_ENABLED=1`. This will create a new entrypoint on port 9052 which can be used to bypass forced SSL. For more details, see the [onion recipe](https://recipes.coopcloud.tech/onion).
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra [`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra

View File

@ -1,3 +1,3 @@
export TRAEFIK_YML_VERSION=v28 export TRAEFIK_YML_VERSION=v29
export FILE_PROVIDER_YML_VERSION=v11 export FILE_PROVIDER_YML_VERSION=v11
export ENTRYPOINT_VERSION=v5 export ENTRYPOINT_VERSION=v5

10
release/next Normal file
View File

@ -0,0 +1,10 @@
Short summary of the latest changes:
* Traefik has been upgraded with a patch release, no issues expected.
* "CurveP256" has been included to the TLS options.
* The default TIMEOUT value has been removed from the label directly.
* Anubis support is here, try out `compose.anubis.yml` and see the README.md for more.
* Onion services with Tor are not supported! See the README.md for more.
* There are now officially 3 recipe maintainers for Traefik!
All changes: https://git.coopcloud.tech/coop-cloud/traefik/compare/3.9.0+v3.6.5...master

View File

@ -11,14 +11,14 @@ providers:
endpoint: "tcp://socket-proxy:2375" endpoint: "tcp://socket-proxy:2375"
exposedByDefault: false exposedByDefault: false
network: proxy network: proxy
{{ if eq (env "FILE_PROVIDER_DIRECTORY_ENABLED") "1" }} {{- if eq (env "FILE_PROVIDER_DIRECTORY_ENABLED") "1" }}
file: file:
directory: /etc/traefik/file-providers directory: /etc/traefik/file-providers
watch: true watch: true
{{ else }} {{- else }}
file: file:
filename: /etc/traefik/file-provider.yml filename: /etc/traefik/file-provider.yml
{{ end }} {{- end }}
api: api:
dashboard: {{ env "DASHBOARD_ENABLED" }} dashboard: {{ env "DASHBOARD_ENABLED" }}
@ -42,86 +42,90 @@ entrypoints:
allowEncodedPercent: true allowEncodedPercent: true
allowEncodedQuestionMark: true allowEncodedQuestionMark: true
allowEncodedHash: true allowEncodedHash: true
{{ if eq (env "GITEA_SSH_ENABLED") "1" }} {{- if eq (env "GITEA_SSH_ENABLED") "1" }}
gitea-ssh: gitea-ssh:
address: ":2222" address: ":2222"
{{ end }} {{- end }}
{{ if eq (env "P2PANDA_ENABLED") "1" }} {{- if eq (env "P2PANDA_ENABLED") "1" }}
p2panda-udp-v4: p2panda-udp-v4:
address: ":2022/udp" address: ":2022/udp"
p2panda-udp-v6: p2panda-udp-v6:
address: ":2023/udp" address: ":2023/udp"
{{ end }} {{- end }}
{{ if eq (env "GARAGE_RPC_ENABLED") "1" }} {{- if eq (env "GARAGE_RPC_ENABLED") "1" }}
garage-rpc: garage-rpc:
address: ":3901" address: ":3901"
{{ end }} {{- end }}
{{ if eq (env "FOODSOFT_SMTP_ENABLED") "1" }} {{- if eq (env "FOODSOFT_SMTP_ENABLED") "1" }}
foodsoft-smtp: foodsoft-smtp:
address: ":2525" address: ":2525"
{{ end }} {{- end }}
{{ if eq (env "SMTP_ENABLED") "1" }} {{- if eq (env "SMTP_ENABLED") "1" }}
smtp-submission: smtp-submission:
address: ":587" address: ":587"
{{ end }} {{- end }}
{{ if eq (env "PEERTUBE_RTMP_ENABLED") "1" }} {{- if eq (env "PEERTUBE_RTMP_ENABLED") "1" }}
peertube-rtmp: peertube-rtmp:
address: ":1935" address: ":1935"
{{ end }} {{- end }}
{{ if eq (env "WEB_ALT_ENABLED") "1" }} {{- if eq (env "WEB_ALT_ENABLED") "1" }}
web-alt: web-alt:
address: ":8000" address: ":8000"
{{ end }} {{- end }}
{{ if eq (env "SSB_MUXRPC_ENABLED") "1" }} {{- if eq (env "SSB_MUXRPC_ENABLED") "1" }}
ssb-muxrpc: ssb-muxrpc:
address: ":8008" address: ":8008"
{{ end }} {{- end }}
{{ if eq (env "MSSQL_ENABLED") "1" }} {{- if eq (env "MSSQL_ENABLED") "1" }}
mssql: mssql:
address: ":1433" address: ":1433"
{{ end }} {{- end }}
{{ if eq (env "MUMBLE_ENABLED") "1" }} {{- if eq (env "MUMBLE_ENABLED") "1" }}
mumble: mumble:
address: ":64738" address: ":64738"
mumble-udp: mumble-udp:
address: ":64738/udp" address: ":64738/udp"
{{ end }} {{- end }}
{{ if eq (env "COMPY_ENABLED") "1" }} {{- if eq (env "COMPY_ENABLED") "1" }}
compy: compy:
address: ":9999" address: ":9999"
{{ end }} {{- end }}
{{ if eq (env "IRC_ENABLED") "1" }} {{- if eq (env "IRC_ENABLED") "1" }}
irc: irc:
address: ":6697" address: ":6697"
{{ end }} {{- end }}
{{ if eq (env "METRICS_ENABLED") "1" }} {{- if eq (env "METRICS_ENABLED") "1" }}
metrics: metrics:
address: ":8082" address: ":8082"
http: http:
middlewares: middlewares:
- basicauth@file - basicauth@file
{{ end }} {{- end }}
{{ if eq (env "MATRIX_FEDERATION_ENABLED") "1" }} {{- if eq (env "MATRIX_FEDERATION_ENABLED") "1" }}
matrix-federation: matrix-federation:
address: ":9001" address: ":9001"
{{ end }} {{- end }}
{{ if eq (env "NEXTCLOUD_TALK_HPB_ENABLED") "1" }} {{- if eq (env "NEXTCLOUD_TALK_HPB_ENABLED") "1" }}
nextcloud-talk-hpb: nextcloud-talk-hpb:
address: ":3478" address: ":3478"
nextcloud-talk-hpb-udp: nextcloud-talk-hpb-udp:
address: ":3478/udp" address: ":3478/udp"
{{ end }} {{- end }}
{{- if eq (env "ONION_ENABLED") "1" }}
onion:
address: ":9052"
{{- end }}
ping: ping:
entryPoint: web entryPoint: web
{{ if eq (env "METRICS_ENABLED") "1" }} {{- if eq (env "METRICS_ENABLED") "1" }}
metrics: metrics:
prometheus: prometheus:
entryPoint: metrics entryPoint: metrics
addRoutersLabels: true addRoutersLabels: true
addServicesLabels: true addServicesLabels: true
{{ end }} {{- end }}
certificatesResolvers: certificatesResolvers:
staging: staging:
@ -131,23 +135,23 @@ certificatesResolvers:
caServer: "https://acme-staging-v02.api.letsencrypt.org/directory" caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
httpChallenge: httpChallenge:
entryPoint: web entryPoint: web
{{ if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }} {{- if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
dnsChallenge: dnsChallenge:
provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }} provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }}
resolvers: resolvers:
- "1.1.1.1:53" - "1.1.1.1:53"
- "8.8.8.8:53" - "8.8.8.8:53"
{{ end }} {{- end }}
production: production:
acme: acme:
email: {{ env "LETS_ENCRYPT_EMAIL" }} email: {{ env "LETS_ENCRYPT_EMAIL" }}
storage: /etc/letsencrypt/production-acme.json storage: /etc/letsencrypt/production-acme.json
httpChallenge: httpChallenge:
entryPoint: web entryPoint: web
{{ if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }} {{- if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
dnsChallenge: dnsChallenge:
provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }} provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }}
resolvers: resolvers:
- "1.1.1.1:53" - "1.1.1.1:53"
- "9.9.9.9:53" - "9.9.9.9:53"
{{ end }} {{- end }}