-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yaml
130 lines (118 loc) · 3.52 KB
/
docker-compose.yaml
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
version: '3'
services:
freud_bot:
image: ghcr.io/tibo-ulens/freud_bot:latest
container_name: freud_bot
environment:
- DB_URL=postgresql+asyncpg://postgres_user@freud_bot_db/freud_bot
- PGPASSWORD=postgres_password
- CH_URL=redis://@freud_bot_cache:6379/0
logging:
options:
max-size: "4096m"
secrets:
- discord_token
depends_on:
- freud_bot_db
- freud_bot_cache
freud_bot_dev:
build:
context: .
dockerfile: Dockerfile.bot
container_name: freud_bot_dev
restart: "no"
environment:
- DB_URL=postgresql+asyncpg://postgres_user@freud_bot_db/freud_bot
- PGPASSWORD=postgres_password
- CH_URL=redis://@freud_bot_cache:6379/0
logging:
options:
max-size: "4096m"
secrets:
- discord_token
depends_on:
- freud_bot_db
- freud_bot_cache
freud_bot_webconfig:
image: ghcr.io/tibo-ulens/freud_bot_webconfig:latest
container_name: freud_bot_webconfig
ports:
- "3000:80"
environment:
- BASE_URL=http://localhost:3000
- SESSION_COOKIE_DOMAIN=.localhost
- SESSION_COOKIE_NAME=freud_bot_webconfig_session
- DB_URL=postgresql+asyncpg://postgres_user@freud_bot_db/freud_bot
- PGPASSWORD=postgres_password
logging:
options:
max-size: "4096m"
secrets:
- discord_oauth_credentials
- discord_token
depends_on:
- freud_bot
freud_bot_webconfig_dev:
build:
context: .
dockerfile: Dockerfile.webconfig
container_name: freud_bot_webconfig_dev
restart: "no"
ports:
- "3000:80"
environment:
- BASE_URL=http://localhost:3000
- SESSION_COOKIE_DOMAIN=.localhost
- SESSION_COOKIE_NAME=freud_bot_webconfig_session
- DB_URL=postgresql+asyncpg://postgres_user@freud_bot_db/freud_bot
- PGPASSWORD=postgres_password
logging:
options:
max-size: "4096m"
secrets:
- discord_oauth_credentials
- discord_token
depends_on:
- freud_bot_dev
freud_bot_db:
image: postgres:16.0-alpine
container_name: freud_bot_db
restart: unless-stopped
logging:
options:
max-size: "4096m"
environment:
- POSTGRES_PASSWORD=postgres_password
- POSTGRES_USER=postgres_user
- POSTGRES_DB=freud_bot
ports:
- "5432:5432"
volumes:
- freud_bot_data:/var/lib/postgresql/data
healthcheck:
test: pg_isready -d freud_bot -h freud_bot_db -U postgres_user
interval: 10m
timeout: 5s
retries: 2
freud_bot_cache:
image: redis:7.2-alpine
container_name: freud_bot_cache
restart: unless-stopped
logging:
options:
max-size: "4096m"
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10m
timeout: 5s
retries: 2
volumes:
freud_bot_data:
external: true
secrets:
discord_token:
file: ./secrets/discord_token.txt
discord_oauth_credentials:
file: ./secrets/discord_oauth_credentials.txt