A discord bot for teal.fm
discord
tealfm
music
1services:
2 web:
3 container_name: web
4 restart: always
5 build:
6 context: .
7 dockerfile: Dockerfile
8 target: web
9 ports:
10 - 8002:8002
11 depends_on:
12 db:
13 condition: service_healthy
14 bot:
15 condition: service_started
16
17 environment:
18 PUBLIC_URL: "${PUBLIC_URL:?PUBLIC_URL is required}"
19 PRIVATE_KEYS: "${PRIVATE_KEYS:?PRIVATE_KEYS is required}"
20 COOKIE_SECRET: "${COOKIE_SECRET:?COOKIE_SECRET is required}"
21 healthcheck:
22 test: ["CMD", "wget", "-q", "--spider", "http://localhost:8002/health"]
23 interval: 30s
24 timeout: 10s
25 retries: 3
26 start_period: 10s
27
28 tapper:
29 container_name: tapper
30 build:
31 context: .
32 dockerfile: Dockerfile
33 target: tapper
34
35 depends_on:
36 db:
37 condition: service_healthy
38
39 environment:
40 NODE_ENV: production
41 TAP_ADMIN_PASSWORD: "${TAP_ADMIN_PASSWORD:?TAP_ADMIN_PASSWORD is required}"
42 bot:
43 container_name: bot
44 restart: always
45 build:
46 context: .
47 dockerfile: Dockerfile
48 target: bot
49
50 depends_on:
51 db:
52 condition: service_healthy
53
54 environment:
55 NODE_ENV: production
56 DISCORD_BOT_TOKEN: "${DISCORD_BOT_TOKEN:?DISCORD_BOT_TOKEN is required}"
57 DISCORD_APPLICATION_ID: "${DISCORD_APPLICATION_ID:?DISCORD_APPLICATION_ID is required}"
58 DISCORD_GUILD_ID: "${DISCORD_GUILD_ID:?DISCORD_GUILD_ID is required}"
59 db:
60 image: postgres:18.1
61 healthcheck:
62 test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
63 interval: 10s
64 retries: 5
65 start_period: 30s
66 timeout: 10s
67 restart: always
68 environment:
69 POSTGRES_USER: "${POSTGRES_USER:?POSTGRES_USER is required}"
70 POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}"
71 POSTGRES_DB: "${POSTGRES_DB:?POSTGRES_DB is required}"
72 ports:
73 - 5432:5432
74
75 volumes:
76 - "postgres-data:/var/lib/postgresql/data"
77
78volumes:
79 postgres-data: