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 TAP_ADMIN_PASSWORD: "${TAP_ADMIN_PASSWORD:?TAP_ADMIN_PASSWORD is required}"
41 bot:
42 container_name: bot
43 restart: always
44 build:
45 context: .
46 dockerfile: Dockerfile
47 target: bot
48
49 depends_on:
50 db:
51 condition: service_healthy
52
53 environment:
54 DISCORD_BOT_TOKEN: "${DISCORD_BOT_TOKEN:?DISCORD_BOT_TOKEN is required}"
55 DISCORD_APPLICATION_ID: "${DISCORD_APPLICATION_ID:?DISCORD_APPLICATION_ID is required}"
56 DISCORD_GUILD_ID: "${DISCORD_GUILD_ID:?DISCORD_GUILD_ID is required}"
57 db:
58 image: postgres:18.1
59 healthcheck:
60 test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
61 interval: 10s
62 retries: 5
63 start_period: 30s
64 timeout: 10s
65 restart: always
66 environment:
67 POSTGRES_USER: "${POSTGRES_USER:?POSTGRES_USER is required}"
68 POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:?POSTGRES_PASSWORD is required}"
69 POSTGRES_DB: "${POSTGRES_DB:?POSTGRES_DB is required}"
70 ports:
71 - 5432:5432
72
73 volumes:
74 - './postgres-data:/var/lib/postgresql/data'
75
76volumes:
77 postgres-data: