-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
docker-compose.yml
92 lines (84 loc) · 2.19 KB
/
docker-compose.yml
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
version: '3.9'
services:
bot:
image: 'benricheson101/fish-bot:main'
depends_on:
- 'db'
- 'abusive-user-checker'
- 'domain-scraper'
- 'prometheus'
- 'redis'
platform: 'linux/x86_64'
deploy:
restart_policy:
condition: 'on-failure'
environment:
DATABASE_URL: 'postgres://prisma:prisma@db/fish?connect_timeout=3000&schema=prisma'
REDIS_URL: 'redis://redis:6379/0'
PORT: '9000'
PROMETHEUS_URL: 'http://prometheus:9090'
GRPC_CHECKER_SERVICE_URL: 'abusive-user-checker:3000'
NODE_ENV: '${NODE_ENV:-production}'
DISCORD_TOKEN: '${DISCORD_TOKEN}'
SHARD_COUNT: '${SHARD_COUNT}'
SUPPORT_INVITE: '${SUPPORT_INVITE:-https://discord.gg/yn9fXGAW8Q}'
abusive-user-checker:
image: 'benricheson101/fish-abusive-user-service:main'
depends_on:
- 'db'
- 'prometheus'
deploy:
restart_policy:
condition: 'on-failure'
environment:
DATABASE_URL: 'postgres://prisma:prisma@db/fish?sslmode=disable'
GRPC_ADDR: ':3000'
domain-scraper:
image: 'benricheson101/fish-domain-scraper-service:main'
depends_on:
- 'redis'
- 'prometheus'
deploy:
restart_policy:
condition: 'on-failure'
environment:
PORT: '9000'
REDIS_URL: 'redis://redis:6379/0'
API_URL: '${API_URL}'
healthcheck:
test: 'curl --fail http://localhost:9000/health'
interval: '2m30s'
start_period: '30s'
retries: 3
db:
command: "postgres -c listen_addresses='*'"
image: 'postgres'
restart: 'always'
environment:
POSTGRES_USER: 'prisma'
POSTGRES_PASSWORD: 'prisma'
POSTGRES_DB: 'fish'
volumes:
- 'postgres_data:/var/lib/postgresql/data'
redis:
image: 'redis'
restart: 'always'
volumes:
- 'redis_data:/data'
grafana:
image: 'benricheson101/fish-grafana:main'
ports:
- '3000:3000'
volumes:
- 'grafana_data:/var/lib/grafana'
depends_on:
- 'prometheus'
prometheus:
image: 'benricheson101/fish-prometheus:main'
volumes:
- 'prometheus_data:/prometheus'
volumes:
grafana_data:
postgres_data:
prometheus_data:
redis_data: