Skip to content

Commit 397ec60

Browse files
committed
fix: traefik limit middlewares
1 parent 4f0792b commit 397ec60

23 files changed

+116
-130
lines changed

.github/ISSUE_TEMPLATE/compose-request.md

+2-8
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,11 @@ services:
4949
# - proxy
5050
#labels:
5151
# - traefik.enable=true
52+
# - traefik.docker.network=proxy
5253
# - traefik.http.routers.CHANGEME.rule=Host(`service.example.com`)
5354
# - traefik.http.services.CHANGEME.loadbalancer.server.port=8080
54-
# - traefik.http.services.CHANGEME.loadbalancer.server.scheme=https # optional, but sometines necessary when proxying to https services
55-
# - traefik.http.services.CHANGEME.loadbalancer.serverstransport=insecureTransport@file # optional, but sometines necessary when proxying to https services
56-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
57-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
58-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
59-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
60-
# - traefik.docker.network=proxy
6155
# # Part for optional traefik middlewares
62-
# - traefik.http.routers.CHANGEME.middlewares=local-ipwhitelist@file,basic-auth@file
56+
# - traefik.http.routers.CHANGEME.middlewares=local-ipwhitelist@file
6357
6458
#networks:
6559
# proxy:

examples/atlassian-jira-confluence/docker-compose.yml

+10-10
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,12 @@ services:
4141
# - traefik.http.routers.confluence.rule=Host(`confluence.example.com`)
4242
# - traefik.http.services.confluence.loadbalancer.server.port=8090
4343
# # Optional part for file upload max sizes
44-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
45-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
46-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
47-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
44+
# - traefik.http.middlewares.limit-confluence.buffering.maxRequestBodyBytes=50000000
45+
# - traefik.http.middlewares.limit-confluence.buffering.maxResponseBodyBytes=50000000
46+
# - traefik.http.middlewares.limit-confluence.buffering.memRequestBodyBytes=50000000
47+
# - traefik.http.middlewares.limit-confluence.buffering.memResponseBodyBytes=50000000
4848
# # Optional part for traefik middlewares
49-
# - traefik.http.routers.confluence.middlewares=local-ipwhitelist@file
49+
# - traefik.http.routers.confluence.middlewares=limit-confluence
5050

5151
jira:
5252
image: atlassian/jira-core:9.9.2
@@ -91,12 +91,12 @@ services:
9191
# - traefik.http.routers.jira.rule=Host(`jira.example.com`)
9292
# - traefik.http.services.jira.loadbalancer.server.port=8080
9393
# # Optional part for file upload max sizes
94-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
95-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
96-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
97-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
94+
# - traefik.http.middlewares.limit-jira.buffering.maxRequestBodyBytes=50000000
95+
# - traefik.http.middlewares.limit-jira.buffering.maxResponseBodyBytes=50000000
96+
# - traefik.http.middlewares.limit-jira.buffering.memRequestBodyBytes=50000000
97+
# - traefik.http.middlewares.limit-jira.buffering.memResponseBodyBytes=50000000
9898
# # Optional part for traefik middlewares
99-
# - traefik.http.routers.jira.middlewares=local-ipwhitelist@file
99+
# - traefik.http.routers.jira.middlewares=limit-jira
100100

101101
postgresql:
102102
image: docker.io/library/postgres:16-alpine

examples/bookstack/docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ services:
2929
# - traefik.http.routers.bookstack.rule=Host(`bookstack.example.com`)
3030
# - traefik.http.services.bookstack.loadbalancer.server.port=80
3131
# # Optional part for file upload max sizes
32-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
33-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
34-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
35-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
32+
# - traefik.http.middlewares.limit-bookstack.buffering.maxRequestBodyBytes=50000000
33+
# - traefik.http.middlewares.limit-bookstack.buffering.maxResponseBodyBytes=50000000
34+
# - traefik.http.middlewares.limit-bookstack.buffering.memRequestBodyBytes=50000000
35+
# - traefik.http.middlewares.limit-bookstack.buffering.memResponseBodyBytes=50000000
3636
# # Optional part for traefik middlewares
37-
# - traefik.http.routers.bookstack.middlewares=local-ipwhitelist@file,authelia@docker
37+
# - traefik.http.routers.bookstack.middlewares=limit-bookstack
3838

3939
bookstack_db:
4040
image: linuxserver/mariadb

examples/code-server/docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ services:
2727
# - traefik.http.routers.codeserver.rule=Host(`code.example.com`)
2828
# - traefik.http.services.codeserver.loadbalancer.server.port=8443
2929
# # Optional part for file upload max sizes
30-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
31-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
32-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
33-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
30+
# - traefik.http.middlewares.limit-codeserver.buffering.maxRequestBodyBytes=50000000
31+
# - traefik.http.middlewares.limit-codeserver.buffering.maxResponseBodyBytes=50000000
32+
# - traefik.http.middlewares.limit-codeserver.buffering.memRequestBodyBytes=50000000
33+
# - traefik.http.middlewares.limit-codeserver.buffering.memResponseBodyBytes=50000000
3434
# # Optional part for traefik middlewares
35-
# - traefik.http.routers.codeserver.middlewares=local-ipwhitelist@file,authelia@docker
35+
# - traefik.http.routers.codeserver.middlewares=limit-codeserver
3636

3737
#networks:
3838
# proxy:

examples/headscale/docker-compose.yml

+5-9
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@ services:
1717
- traefik.enable=true
1818
- traefik.http.routers.headscale-rtr.rule=Host(`headscale.example.com`) && PathPrefix(`/`)
1919
- traefik.http.services.headscale-svc.loadbalancer.server.port=8080
20+
- traefik.http.routers.headscale-rtr.middlewares=limit-headscale
2021
# Optional part for file upload max sizes
21-
- traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
22-
- traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
23-
- traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
24-
- traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
22+
- traefik.http.middlewares.limit-headscale.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
23+
- traefik.http.middlewares.limit-headscale.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
24+
- traefik.http.middlewares.limit-headscale.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
25+
- traefik.http.middlewares.limit-headscale.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
2526

2627
headscale-ui:
2728
image: ghcr.io/gurucomputing/headscale-ui:latest
@@ -40,11 +41,6 @@ services:
4041
- traefik.http.services.headscale-ui-svc.loadbalancer.server.port=80
4142
# Optional part for traefik middlewares; protect the headscale ui interface; access from local lan only
4243
- traefik.http.routers.headscale-ui-rtr.middlewares=local-ipwhitelist@file
43-
# Optional part for file upload max sizes
44-
- traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
45-
- traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
46-
- traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
47-
- traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
4844

4945
networks:
5046
proxy:

examples/immich/docker-compose.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ services:
2727
# - traefik.http.services.immich.loadbalancer.server.port=2283
2828
# - traefik.docker.network=proxy
2929
# # Optional part for file upload max sizes
30-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
31-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
32-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
33-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
30+
# - traefik.http.middlewares.limit-immich.buffering.maxRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
31+
# - traefik.http.middlewares.limit-immich.buffering.maxResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
32+
# - traefik.http.middlewares.limit-immich.buffering.memRequestBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
33+
# - traefik.http.middlewares.limit-immich.buffering.memResponseBodyBytes=5000000000 # optional, only necessary for file uploads; allow 5000MB
3434
# # Part for local lan services only
35-
# - traefik.http.routers.immich.middlewares=local-ipwhitelist@file
35+
# - traefik.http.routers.immich.middlewares=limit-immich
3636

3737
immich-machine-learning:
3838
image: altran1502/immich-machine-learning:${IMMICH_VERSION:-release}
@@ -46,7 +46,7 @@ services:
4646
- NODE_ENV=production
4747
restart: unless-stopped
4848
networks:
49-
- proxy
49+
- proxy # machine learning requires internet connecting for model download
5050
- immich-internal
5151

5252
immich-redis:

examples/koillection/docker-compose.yml

-5
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ services:
5353
# - traefik.docker.network=proxy
5454
# - traefik.http.routers.koillection.rule=Host(`collection.example.com`)
5555
# - traefik.http.services.koillection.loadbalancer.server.port=80
56-
# # Optional part for file upload max sizes
57-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000
58-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000
59-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000
60-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000
6156
# # Optional part for traefik middlewares
6257
# - traefik.http.routers.koillection.middlewares=local-ipwhitelist@file,authelia@docker
6358

examples/leantime/docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ services:
3737
# - traefik.http.routers.leantime.rule=Host(`leantime.example.com`)
3838
# - traefik.http.services.leantime.loadbalancer.server.port=80
3939
# # Optional part for file upload max sizes
40-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
41-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
42-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
43-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
40+
# - traefik.http.middlewares.limit-leantime.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
41+
# - traefik.http.middlewares.limit-leantime.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
42+
# - traefik.http.middlewares.limit-leantime.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
43+
# - traefik.http.middlewares.limit-leantime.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
4444
# # Part for optional traefik middlewares
45-
# - traefik.http.routers.leantime.middlewares=local-ipwhitelist@file,authelia@file,basic-auth@file
45+
# - traefik.http.routers.leantime.middlewares=limit-leantime
4646

4747
#networks:
4848
# proxy:

examples/mattermost/docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ services:
6767
# - traefik.docker.network=proxy
6868
# - traefik.http.routers.mattermost.rule=Host(`mattermost.example.com`)
6969
# - traefik.http.services.mattermost.loadbalancer.server.port=8065
70-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
71-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
72-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
73-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
70+
# - traefik.http.middlewares.limit-mattermost.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
71+
# - traefik.http.middlewares.limit-mattermost.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
72+
# - traefik.http.middlewares.limit-mattermost.buffering.memRequestBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
73+
# - traefik.http.middlewares.limit-mattermost.buffering.memResponseBodyBytes=50000000 # optional, only necessary for file uploads; allow 50MB
7474
# # Part for optional traefik middlewares
75-
# - traefik.http.routers.mattermost.middlewares=local-ipwhitelist@file
75+
# - traefik.http.routers.mattermost.middlewares=limit-mattermost
7676

7777
#networks:
7878
# proxy:

examples/minio/docker-compose.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ services:
2020
# - traefik.enable=true
2121
# - traefik.http.routers.minio.rule=Host(`s3.example.com`)
2222
# - traefik.http.services.minio.loadbalancer.server.port=9001
23-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
24-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
25-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
26-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
23+
# - traefik.http.middlewares.limit-minio.buffering.maxRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
24+
# - traefik.http.middlewares.limit-minio.buffering.maxResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
25+
# - traefik.http.middlewares.limit-minio.buffering.memRequestBodyBytes=50000000 # optional, only necessary for enabled file uploads
26+
# - traefik.http.middlewares.limit-minio.buffering.memResponseBodyBytes=50000000 # optional, only necessary for enabled file uploads
2727
# - traefik.docker.network=proxy
2828
# # Part for optional traefik middlewares
29-
# - traefik.http.routers.minio.middlewares=local-ipwhitelist@file,basic-auth@file
29+
# - traefik.http.routers.minio.middlewares=limit-minio
3030

3131
#networks:
3232
# proxy:

examples/nextcloud/docker-compose-mariadb-redis.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,14 @@ services:
7070
# - traefik.enable=true
7171
# - traefik.http.routers.nextcloud.rule=(Host(`cloud.example.com`)) # pls change
7272
# - traefik.http.services.nextcloud.loadbalancer.server.port=80
73-
# - traefik.http.routers.nextcloud.middlewares=local-ipwhitelist@file,authelia@docker
74-
# - traefik.docker.network=proxy
73+
# - traefik.http.routers.nextcloud.middlewares=limit-nextcloud,nextcloud-dav
7574
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav
7675
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/
77-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # only necessary for enabled file uploads
78-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # only necessary for enabled file uploads
79-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # only necessary for enabled file uploads
80-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # only necessary for enabled file uploads
76+
# - traefik.http.middlewares.limit-nextcloud.buffering.maxRequestBodyBytes=50000000 # only necessary for enabled file uploads
77+
# - traefik.http.middlewares.limit-nextcloud.buffering.maxResponseBodyBytes=50000000 # only necessary for enabled file uploads
78+
# - traefik.http.middlewares.limit-nextcloud.buffering.memRequestBodyBytes=50000000 # only necessary for enabled file uploads
79+
# - traefik.http.middlewares.limit-nextcloud.buffering.memResponseBodyBytes=50000000 # only necessary for enabled file uploads
80+
# - traefik.docker.network=proxy
8181

8282
#networks:
8383
# proxy:

examples/nextcloud/docker-compose-sqlite.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ services:
2323
# - traefik.http.services.nextcloud.loadbalancer.server.port=443
2424
# - traefik.http.services.nextcloud.loadbalancer.server.scheme=https
2525
# - traefik.http.services.nextcloud.loadbalancer.serverstransport=insecureTransport@file
26-
# - traefik.http.routers.nextcloud.middlewares=local-ipwhitelist@file,authelia@docker
27-
# - traefik.docker.network=proxy
26+
# - traefik.http.routers.nextcloud.middlewares=limit-nextcloud,nextcloud-dav
2827
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.regex=^/.well-known/ca(l|rd)dav
2928
# - traefik.http.middlewares.nextcloud-dav.replacepathregex.replacement=/remote.php/dav/
30-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=50000000 # only necessary for enabled file uploads
31-
# - traefik.http.middlewares.limit.buffering.maxResponseBodyBytes=50000000 # only necessary for enabled file uploads
32-
# - traefik.http.middlewares.limit.buffering.memRequestBodyBytes=50000000 # only necessary for enabled file uploads
33-
# - traefik.http.middlewares.limit.buffering.memResponseBodyBytes=50000000 # only necessary for enabled file uploads
29+
# - traefik.http.middlewares.limit-nextcloud.buffering.maxRequestBodyBytes=50000000 # only necessary for enabled file uploads
30+
# - traefik.http.middlewares.limit-nextcloud.buffering.maxResponseBodyBytes=50000000 # only necessary for enabled file uploads
31+
# - traefik.http.middlewares.limit-nextcloud.buffering.memRequestBodyBytes=50000000 # only necessary for enabled file uploads
32+
# - traefik.http.middlewares.limit-nextcloud.buffering.memResponseBodyBytes=50000000 # only necessary for enabled file uploads
33+
# - traefik.docker.network=proxy
3434

3535
#networks:
3636
# proxy:

examples/openspeedtest/docker-compose.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ services:
1212
restart: always
1313
#labels:
1414
# - traefik.enable=true
15-
# - traefik.http.routers.openspeedtest.middlewares=local-ipwhitelist@file, limit
1615
# - traefik.http.routers.openspeedtest.rule=Host(`speedtest.example.com`)
1716
# - traefik.http.services.openspeedtest.loadbalancer.server.port=3000
17+
# - traefik.http.routers.openspeedtest.middlewares=local-ipwhitelist@file,limit-openspeedtest,test-compress
1818
# - traefik.docker.network=proxy
1919
# # Part for local lan services only
20-
# - traefik.http.middlewares.limit.buffering.maxRequestBodyBytes=10000000000
20+
# - traefik.http.middlewares.limit-openspeedtest.buffering.maxRequestBodyBytes=10000000000
2121
# - traefik.http.middlewares.test-compress.compress=true

0 commit comments

Comments
 (0)