-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerStack.example.yaml
More file actions
69 lines (62 loc) · 2.53 KB
/
DockerStack.example.yaml
File metadata and controls
69 lines (62 loc) · 2.53 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
63
64
65
66
67
68
69
version: '3.9'
services:
dartdocbot:
hostname: dartdocbot
image: plugfox/dart-doc-bot:0.0.1
networks:
- public
#ports:
# - '8080:8080'
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- "TZ=UTC"
- "PORT=8080"
# - "TG_BOT_TOKEN=your.token" # Telegram bot token
deploy:
mode: replicated
replicas: 1
restart_policy:
condition: on-failure
placement:
constraints:
- node.role == manager
#resources:
# limits:
# cpus: '0.50'
# memory: 256M
# reservations:
# cpus: '0.25'
# memory: 128M
labels:
- org.label-schema.group=dartdocbot
####################################################################
# Dart Doc Bot
####################################################################
# Labels for traefik https://doc.traefik.io/traefik/providers/docker/
- "traefik.enable=true"
- "traefik.http.routers.dartdocbot.entrypoints=https"
- "traefik.http.routers.dartdocbot.rule=Host(`dartdocbot.plugfox.dev`)"
- "traefik.http.routers.dartdocbot.tls.certresolver=le"
# Port traefik needs to route traffic to
- "traefik.http.routers.dartdocbot.service=dartdocbot"
- "traefik.http.services.dartdocbot.loadbalancer.server.port=8080"
# Enable middleware
- "traefik.http.routers.dartdocbot.middlewares=dartdocbot-ratelimit@docker,dartdocbot-headers@docker"
# Middleware rate limit
- "traefik.http.middlewares.dartdocbot-ratelimit.ratelimit.average=1000"
- "traefik.http.middlewares.dartdocbot-ratelimit.ratelimit.burst=500"
# CORS
- "traefik.http.middlewares.dartdocbot-headers.headers.accesscontrolalloworiginlist=*"
- "traefik.http.middlewares.dartdocbot-headers.headers.accesscontrolallowmethods=GET,POST,HEAD,PUT,DELETE,PATCH,OPTIONS"
- "traefik.http.middlewares.dartdocbot-headers.headers.accesscontrolexposeheaders=*"
- "traefik.http.middlewares.dartdocbot-headers.headers.accesscontrolallowheaders=*"
- "traefik.http.middlewares.dartdocbot-headers.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.dartdocbot-headers.headers.accessControlAllowCredentials=true"
- "traefik.http.middlewares.dartdocbot-headers.headers.addvaryheader=true"
networks:
# Overlay network for containers that need to be accessible over the internet
public:
external: true
attachable: true
driver: overlay