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 DISCORD_BOT_TOKEN: "${DISCORD_BOT_TOKEN:?DISCORD_BOT_TOKEN is required}"
56 DISCORD_APPLICATION_ID: "${DISCORD_APPLICATION_ID:?DISCORD_APPLICATION_ID is required}"
57 DISCORD_GUILD_ID: "${DISCORD_GUILD_ID:?DISCORD_GUILD_ID is required}"
58 db:
59 image: postgres:18.1
60 healthcheck:
61 test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
62 interval: 10s
63 retries: 5
64 start_period: 30s
65 timeout: 10s
66 restart: always
67 environment:
68 POSTGRES_USER: "${POSTGRES_USER:?POSTGRES_USER is required}"
69 POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}"
70 POSTGRES_DB: "${POSTGRES_DB:?POSTGRES_DB is required}"
71 ports:
72 - 5432:5432
73
74 volumes:
75 - "postgres-data:/var/lib/postgresql/data"
76
77volumes:
78 postgres-data: