-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.redirect.yaml
More file actions
62 lines (54 loc) · 3.06 KB
/
Copy pathdocker-compose.redirect.yaml
File metadata and controls
62 lines (54 loc) · 3.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
### Docker Compose overrides for redirects (old API endpoints → new ones)
#
# Usage:
# Add the override via `-f docker-compose.redirect.yaml`, e.g.:
# ```
# docker compose -f docker-compose.yml -f docker-compose.redirect.yaml up -d
# ```
#
# Use together with rate limiting if needed:
# ```
# docker compose -f docker-compose.yml -f docker-compose.redirect.yaml -f docker-compose.rate_limit.yaml up -d
# ```
services:
shutter-api:
labels:
## Redirects from old endpoints to new ones (308 Permanent Redirect - preserves HTTP method and request body):
# /api/register_event_identity -> /api/event/register_identity
caddy.@redirect_register_event_identity.path: "/api/register_event_identity*"
caddy.@redirect_register_event_identity.method: POST
caddy.redir_0: "@redirect_register_event_identity /api/event/register_identity 308"
# /api/register_identity -> /api/time/register_identity
caddy.@redirect_register_identity.path: "/api/register_identity*"
caddy.@redirect_register_identity.method: POST
caddy.redir_1: "@redirect_register_identity /api/time/register_identity 308"
# /api/get_data_for_encryption -> /api/time/get_data_for_encryption
# Note: This redirects to time-based by default.
caddy.@redirect_get_data_for_encryption.path: "/api/get_data_for_encryption*"
caddy.@redirect_get_data_for_encryption.method: GET
caddy.redir_2: "@redirect_get_data_for_encryption /api/time/get_data_for_encryption?{query} 308"
# /api/compile_event_trigger_definition -> /api/event/compile_trigger_definition
caddy.@redirect_compile_event_trigger_definition.path: "/api/compile_event_trigger_definition*"
caddy.@redirect_compile_event_trigger_definition.method: POST
caddy.redir_3: "@redirect_compile_event_trigger_definition /api/event/compile_trigger_definition 308"
# /api/get_decryption_key -> /api/time/get_decryption_key
caddy.@redirect_get_decryption_key.path: "/api/get_decryption_key*"
caddy.@redirect_get_decryption_key.method: GET
caddy.redir_4: "@redirect_get_decryption_key /api/time/get_decryption_key?{query} 308"
# /api/get_event_trigger_expiration_block -> /api/event/get_trigger_expiration_block
caddy.@redirect_get_event_trigger_expiration_block.path: "/api/get_event_trigger_expiration_block*"
caddy.@redirect_get_event_trigger_expiration_block.method: GET
caddy.redir_5: "@redirect_get_event_trigger_expiration_block /api/event/get_trigger_expiration_block?{query} 308"
# /api/get_event_decryption_key -> /api/event/get_decryption_key
caddy.@redirect_get_event_decryption_key.path: "/api/get_event_decryption_key*"
caddy.@redirect_get_event_decryption_key.method: GET
caddy.redir_6: "@redirect_get_event_decryption_key /api/event/get_decryption_key?{query} 308"
caddy:
build:
context: .
dockerfile: caddy/Dockerfile
image: caddy-docker-proxy-rate-limit
volumes:
- ${DATA_DIR:-./data}/apikeys.caddy:/etc/caddy/apikeys
entrypoint: /usr/bin/caddy
command: docker-proxy run