-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose-base.yml
More file actions
executable file
·94 lines (91 loc) · 3.53 KB
/
docker-compose-base.yml
File metadata and controls
executable file
·94 lines (91 loc) · 3.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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
version: '3.7'
services:
captain-template:
build:
context: captain
target: develop-stage
# env_file:
# - .env
environment:
- NODE_ENV=${NODE_ENV:-development}
- DNS_PROVIDER=${DNS_PROVIDER:-technitium}
- DEFAULT_HEALTHY_INTERVAL=${DEFAULT_HEALTHY_INTERVAL-}
- DEFAULT_UNHEALTHY_INTERVAL=${DEFAULT_UNHEALTHY_INTERVAL-}
- DEFAULT_FALL=${DEFAULT_FALL-}
- DEFAULT_RISE=${DEFAULT_RISE-}
- DEFAULT_CONNECT_TIMEOUT=${DEFAULT_CONNECT_TIMEOUT-}
- DEFAULT_READ_TIMEOUT=${DEFAULT_READ_TIMEOUT-}
- DEFAULT_COOL_DOWN=${DEFAULT_COOL_DOWN-}
- MEMBER_URLS=ws://10.5.0.11:7400,ws://10.5.0.12:7400,ws://10.5.0.13:7400
- CAPTAIN_PORT=${CAPTAIN_PORT-}
- CAPTAIN_SECRET_KEY=${CAPTAIN_SECRET_KEY-}
- MATE_PORT=${MATE_PORT-}
- MATE_SECRET_KEY=${MATE_SECRET_KEY-}
- CONSUL_HTTP_TOKEN=${CONSUL_HTTP_TOKEN-}
- CLOUDFLARE_TOKEN=${CLOUDFLARE_TOKEN-}
- CLOUDFLARE_ZONE_ID=${CLOUDFLARE_ZONE_ID-}
- TECHNITIUM_BASE_URL=${TECHNITIUM_BASE_URL:-http://10.5.0.2:5380}
- TECHNITIUM_CUSTOM_ZONE_NAME=${TECHNITIUM_CUSTOM_ZONE_NAME:-ops}
- SLACK_TOKEN=${SLACK_TOKEN-}
- SLACK_CHANNEL_ID=${SLACK_CHANNEL_ID-}
- DATADOG_API_KEY=${DATADOG_API_KEY-}
- DATADOG_SITE=${DATADOG_SITE-}
- NOTIFICATION_URL=${NOTIFICATION_URL-}
- NOTIFICATION_HEADER=${NOTIFICATION_HEADER-}
# - DEBUG=captain
volumes:
- ./captain:/app
- ./__simulation__/data:/data
- /app/dist
- ./captain/__simulation__/real-consul-app/certs/:/consul/config/certs/:ro
entrypoint: ['sh', '-c']
# # installation done commonly by 'captain-apps-install-packages' so 'pnpm i' not needed
# command: ['pnpm i --config.confirmModulesPurge=false && exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234']
command:
- |
run-consul.sh
exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234
mate-template:
build:
context: mate
target: develop-stage
environment:
- NODE_ENV=${NODE_ENV:-development}
- KEEP_ALIVE=${KEEP_ALIVE-}
- INTERVAL=${INTERVAL-}
- MATE_SECRET_KEY=${MATE_SECRET_KEY-}
# - DEBUG=mate
volumes:
- ./mate:/app
- ./__simulation__/data:/data
- /app/dist
entrypoint: ['sh', '-c']
# command: ['pnpm i --config.confirmModulesPurge=false && exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234']
command: ['exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234']
dummy-apps:
build:
context: ./__simulation__/dummy-apps
volumes:
- ./__simulation__/dummy-apps:/app
- /app/dist
environment:
- NODE_ENV=${NODE_ENV:-development}
entrypoint: ['sh', '-c']
cap_add:
- NET_ADMIN
# command: ['pnpm i --config.confirmModulesPurge=false && exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234']
command: ['exec nodemon --signal SIGTERM -- --inspect=0.0.0.0:9234']
# https://github.com/TechnitiumSoftware/DnsServer/blob/master/docker-compose.yml
dns-server-template:
hostname: dns-server
image: technitium/dns-server:latest
expose:
- '53:53/udp' #DNS service
- '53:53/tcp' #DNS service
environment:
- DNS_SERVER_DOMAIN=dns-server #The primary domain name used by this DNS Server to identify itself.
- DNS_SERVER_ADMIN_PASSWORD=abcdef #DNS web console admin user password.
- DNS_SERVER_FORWARDERS=8.8.8.8, 8.8.4.4 #Comma separated list of forwarder addresses.
restart: unless-stopped
sysctls:
- net.ipv4.ip_local_port_range=1024 65000