Compare commits

...

5 Commits

Author SHA1 Message Date
139202fa9c update README.md 2026-01-14 13:19:50 -05:00
de7989f3ca use 9052 for onion port 2026-01-13 12:13:12 -05:00
d3bf1bce24 fix whitespace removal 2026-01-13 02:32:23 -05:00
1ce9d9ca72 add onion support 2026-01-13 02:13:06 -05:00
a233438f80 Merge pull request 'Remove Default Timeout' (#79) from remove-default-timeout into master
Reviewed-on: coop-cloud/traefik#79
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2026-01-03 14:32:02 +00:00
4 changed files with 51 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

@ -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

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 }}