forked from coop-cloud/traefik
Compare commits
18 Commits
master
...
feat-relea
| Author | SHA1 | Date | |
|---|---|---|---|
|
324933a9cc
|
|||
| dc3e50838f | |||
| d59f6e0302 | |||
| 139202fa9c | |||
| de7989f3ca | |||
| d3bf1bce24 | |||
| 1ce9d9ca72 | |||
| a233438f80 | |||
|
ed257bd0b2
|
|||
| 7dd833dbec | |||
| 92650aa12a | |||
| 0e38a772e9 | |||
| f469a1a90e | |||
| 0d85f97200 | |||
| ac33efe73a | |||
| a135d170bb | |||
| fa7cf3e17b | |||
| d05c81b4d7 |
17
.env.sample
17
.env.sample
@ -1,5 +1,5 @@
|
||||
TYPE=traefik
|
||||
TIMEOUT=300
|
||||
#TIMEOUT=300
|
||||
ENABLE_AUTO_UPDATE=true
|
||||
ENABLE_BACKUPS=true
|
||||
|
||||
@ -174,4 +174,17 @@ COMPOSE_FILE="compose.yml"
|
||||
|
||||
## Nextcloud Talk HPB
|
||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud-talk-hpb.yml"
|
||||
#NEXTCLOUD_TALK_HPB_ENABLED=1
|
||||
#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
|
||||
|
||||
## Enable onion service support
|
||||
#ONION_ENABLED=1
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
---
|
||||
name: "Traefik pull request template"
|
||||
about: "Traefik pull request template"
|
||||
---
|
||||
|
||||
<!--
|
||||
|
||||
17
README.md
17
README.md
@ -55,4 +55,21 @@ 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.**
|
||||
|
||||
## 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
|
||||
|
||||
2
abra.sh
2
abra.sh
@ -1,3 +1,3 @@
|
||||
export TRAEFIK_YML_VERSION=v28
|
||||
export TRAEFIK_YML_VERSION=v29
|
||||
export FILE_PROVIDER_YML_VERSION=v11
|
||||
export ENTRYPOINT_VERSION=v5
|
||||
|
||||
29
compose.anubis.yml
Normal file
29
compose.anubis.yml
Normal 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"
|
||||
@ -49,7 +49,7 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}.service=api@internal"
|
||||
- "traefik.http.routers.${STACK_NAME}.middlewares=security@file"
|
||||
- "coop-cloud.${STACK_NAME}.version=3.9.0+v3.6.5"
|
||||
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
|
||||
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
|
||||
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
|
||||
|
||||
socket-proxy:
|
||||
|
||||
10
release/next
Normal file
10
release/next
Normal 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
|
||||
@ -11,14 +11,14 @@ providers:
|
||||
endpoint: "tcp://socket-proxy:2375"
|
||||
exposedByDefault: false
|
||||
network: proxy
|
||||
{{ if eq (env "FILE_PROVIDER_DIRECTORY_ENABLED") "1" }}
|
||||
{{- if eq (env "FILE_PROVIDER_DIRECTORY_ENABLED") "1" }}
|
||||
file:
|
||||
directory: /etc/traefik/file-providers
|
||||
watch: true
|
||||
{{ else }}
|
||||
{{- else }}
|
||||
file:
|
||||
filename: /etc/traefik/file-provider.yml
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
api:
|
||||
dashboard: {{ env "DASHBOARD_ENABLED" }}
|
||||
@ -42,86 +42,90 @@ entrypoints:
|
||||
allowEncodedPercent: true
|
||||
allowEncodedQuestionMark: true
|
||||
allowEncodedHash: true
|
||||
{{ if eq (env "GITEA_SSH_ENABLED") "1" }}
|
||||
{{- if eq (env "GITEA_SSH_ENABLED") "1" }}
|
||||
gitea-ssh:
|
||||
address: ":2222"
|
||||
{{ end }}
|
||||
{{ if eq (env "P2PANDA_ENABLED") "1" }}
|
||||
{{- 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" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "GARAGE_RPC_ENABLED") "1" }}
|
||||
garage-rpc:
|
||||
address: ":3901"
|
||||
{{ end }}
|
||||
{{ if eq (env "FOODSOFT_SMTP_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "FOODSOFT_SMTP_ENABLED") "1" }}
|
||||
foodsoft-smtp:
|
||||
address: ":2525"
|
||||
{{ end }}
|
||||
{{ if eq (env "SMTP_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "SMTP_ENABLED") "1" }}
|
||||
smtp-submission:
|
||||
address: ":587"
|
||||
{{ end }}
|
||||
{{ if eq (env "PEERTUBE_RTMP_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "PEERTUBE_RTMP_ENABLED") "1" }}
|
||||
peertube-rtmp:
|
||||
address: ":1935"
|
||||
{{ end }}
|
||||
{{ if eq (env "WEB_ALT_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "WEB_ALT_ENABLED") "1" }}
|
||||
web-alt:
|
||||
address: ":8000"
|
||||
{{ end }}
|
||||
{{ if eq (env "SSB_MUXRPC_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "SSB_MUXRPC_ENABLED") "1" }}
|
||||
ssb-muxrpc:
|
||||
address: ":8008"
|
||||
{{ end }}
|
||||
{{ if eq (env "MSSQL_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "MSSQL_ENABLED") "1" }}
|
||||
mssql:
|
||||
address: ":1433"
|
||||
{{ end }}
|
||||
{{ if eq (env "MUMBLE_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "MUMBLE_ENABLED") "1" }}
|
||||
mumble:
|
||||
address: ":64738"
|
||||
mumble-udp:
|
||||
address: ":64738/udp"
|
||||
{{ end }}
|
||||
{{ if eq (env "COMPY_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "COMPY_ENABLED") "1" }}
|
||||
compy:
|
||||
address: ":9999"
|
||||
{{ end }}
|
||||
{{ if eq (env "IRC_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "IRC_ENABLED") "1" }}
|
||||
irc:
|
||||
address: ":6697"
|
||||
{{ end }}
|
||||
{{ if eq (env "METRICS_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "METRICS_ENABLED") "1" }}
|
||||
metrics:
|
||||
address: ":8082"
|
||||
http:
|
||||
middlewares:
|
||||
- basicauth@file
|
||||
{{ end }}
|
||||
{{ if eq (env "MATRIX_FEDERATION_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "MATRIX_FEDERATION_ENABLED") "1" }}
|
||||
matrix-federation:
|
||||
address: ":9001"
|
||||
{{ end }}
|
||||
{{ if eq (env "NEXTCLOUD_TALK_HPB_ENABLED") "1" }}
|
||||
{{- end }}
|
||||
{{- if eq (env "NEXTCLOUD_TALK_HPB_ENABLED") "1" }}
|
||||
nextcloud-talk-hpb:
|
||||
address: ":3478"
|
||||
nextcloud-talk-hpb-udp:
|
||||
address: ":3478/udp"
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{- if eq (env "ONION_ENABLED") "1" }}
|
||||
onion:
|
||||
address: ":9052"
|
||||
{{- end }}
|
||||
|
||||
ping:
|
||||
entryPoint: web
|
||||
|
||||
{{ if eq (env "METRICS_ENABLED") "1" }}
|
||||
{{- if eq (env "METRICS_ENABLED") "1" }}
|
||||
metrics:
|
||||
prometheus:
|
||||
entryPoint: metrics
|
||||
addRoutersLabels: true
|
||||
addServicesLabels: true
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
certificatesResolvers:
|
||||
staging:
|
||||
@ -131,23 +135,23 @@ certificatesResolvers:
|
||||
caServer: "https://acme-staging-v02.api.letsencrypt.org/directory"
|
||||
httpChallenge:
|
||||
entryPoint: web
|
||||
{{ if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
|
||||
{{- if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
|
||||
dnsChallenge:
|
||||
provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }}
|
||||
resolvers:
|
||||
- "1.1.1.1:53"
|
||||
- "8.8.8.8:53"
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
production:
|
||||
acme:
|
||||
email: {{ env "LETS_ENCRYPT_EMAIL" }}
|
||||
storage: /etc/letsencrypt/production-acme.json
|
||||
httpChallenge:
|
||||
entryPoint: web
|
||||
{{ if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
|
||||
{{- if eq (env "LETS_ENCRYPT_DNS_CHALLENGE_ENABLED") "1" }}
|
||||
dnsChallenge:
|
||||
provider: {{ (env "LETS_ENCRYPT_DNS_CHALLENGE_PROVIDER") }}
|
||||
resolvers:
|
||||
- "1.1.1.1:53"
|
||||
- "9.9.9.9:53"
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
|
||||
Reference in New Issue
Block a user