forked from freyacodes/archived-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
125 lines (108 loc) · 5.92 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
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
################################################################################
### Running FredBoat with docker-compose
################################################################################
###
### Use a proper text editor like Sublime when editing this file
### Do not use tab characters in this file, only spaces are allowed. Don't add or delete unnecessary spaces.
### More information on correctly formatting yaml files: http://www.yaml.org/start.html
###
### For further information on running FredBoat visit https://fredboat.com/docs/selfhosting or the #selfhosting channel
### on the FredBoat Hangout Discord server: https://discord.gg/cgPFW4q
version: '3' # This is not the FredBoat version, do not touch this line.
services:
################################################################################
## Database
################################################################################
db:
image: fredboat/postgres:latest
#image: fredboat/postgres:arm64v8 #for (some) arm based machines
#build: ./FredBoat/docker/database/ #useful alternative for developers
restart: always
labels:
- "com.centurylinklabs.watchtower.enable=true"
# WINDOWS ONLY: if you are running under windows you need to comment out the following two lines:
volumes:
- ./postgres-data:/var/lib/postgresql/data
# WINDOWS ONLY: if you are running under windows and want to take manual backups of the database
# via a docker volume, uncomment the following two lines and read the snippet at the bottom of this file
#volumes:
#- postgres-data-volume:/var/lib/postgresql/data
################################################################################
## Quarterdeck (Database Backend)
################################################################################
quarterdeck:
# pick one of these: stable or dev
# dev receives more frequent updates than stable but may have more bugs / things breaking
# versions (example: v2) receive continous non-breaking (best effort) updates via watchtower. switching between versions
# (example: going from v2 to v3) usually requires manual migration. what exactly is needed is published on the
# FredBoat selfhosting website and/or the selfhosters channel (see top of this file for how to get to these places)
# Once you use the dev branch, you may not be able to go back to stable without deleting your database.
# To run on (some) arm based machines, prepend the tag with arm64v8-, for example: fredboat/quarterdeck:arm64v8-dev-v1
# NOTE: Don't use the dev-v1 build unless otherwise noted as it has breaking changes with the other builds.
#image: fredboat/quarterdeck:dev-v1
image: fredboat/quarterdeck:stable-v1
restart: always
labels:
- "com.centurylinklabs.watchtower.enable=true"
depends_on:
- db
volumes:
- ./quarterdeck.yaml:/opt/Quarterdeck/quarterdeck.yaml
- ./quarterdeck_logs:/opt/Quarterdeck/logs
# Need a bigger memory size or any other custom JVM args? uncomment and edit the line below accordingly
#entrypoint: java -Xmx128m -jar Quarterdeck.jar
################################################################################
## FredBoat
################################################################################
bot:
# for choosing between stable or dev, read the paragraph above in the Quarterdeck section
# IMPORTANT: both quarterdeck and fredboat need to either be on the stable, or on the dev branch
# To run on (some) arm based machines, prepend the tag with arm64v8-, for example: fredboat/fredboat:arm64v8-dev-v3
image: fredboat/fredboat:dev-v3
#build: ./FredBoat #useful alternative for developers
restart: on-failure:3
labels:
- "com.centurylinklabs.watchtower.enable=true"
depends_on:
- quarterdeck
ports:
- 1356:1356
volumes:
- ./fredboat.yaml:/opt/FredBoat/fredboat.yaml
- ./fredboat_logs:/opt/FredBoat/logs
- ./music_persistence:/opt/FredBoat/music_persistence
# Local audio files (dev branch only currently)
# If your music directory looks like this: /home/user/music/directory/rickroll.mp3 or C:\Users\user\Music\rickroll.mp3
# you will be able to play that file with this command: <<play file://music/rickroll.mp3
# Linux example:
#- /home/your_user_name/music:/opt/FredBoat/music
# Windows example:
#- C:\Users\your_user_name\Music:/opt/FredBoat/music
# Need a bigger memory size or any other custom JVM args? uncomment and edit the line below accordingly
#entrypoint: java -Xmx256m -jar FredBoat.jar
################################################################################
## Automatic updates
################################################################################
# if you want automatic updates, uncomment the watchtower lines below
# watchtower is not yet officially available for arm64v8. See https://github.com/v2tec/watchtower/pull/178 for progress
# but you can try using napstr/watchtower:arm64v8-latest
#watchtower:
# image: v2tec/watchtower
# restart: on-failure:3
# labels:
# - "com.centurylinklabs.watchtower.enable=true"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
# command: --cleanup --label-enable --interval 300 #seconds
################################################################################
## Windows stuff
################################################################################
# WINDOWS ONLY: If you are running on Windows and want to be able to backup the postgres data volume, run
#
# docker volume create --name postgres-data-volume -d local
#
# and uncomment the following lines:
# See also the WINDOWS ONLY hints in the database section
#volumes:
# postgres-data-volume:
# external: true