Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eecdfd7a47 | |||
| 36ecf16ea7 | |||
| d5a61855ea | |||
| b3a8052fc4 | |||
| 3bc6495383 | |||
| a404ff8935 | |||
| 4b26c51a66 | |||
| c76dd45875 | |||
| 6060f3f64e |
@ -13,4 +13,8 @@ LETS_ENCRYPT_ENV=production
|
|||||||
#BAM_VERBOSE=
|
#BAM_VERBOSE=
|
||||||
|
|
||||||
SECRET_BAM_CERTIFICATE_VERSION=v1
|
SECRET_BAM_CERTIFICATE_VERSION=v1
|
||||||
SECRET_MUMBLE_PASSWORD_VERSION=v1
|
SECRET_FLASK_SECRET_VERSION=v1
|
||||||
|
|
||||||
|
|
||||||
|
#SECRET_MUMBLE_PASSWORD_VERSION=v1
|
||||||
|
#COMPOSE=$COMPOSE:compose.password.yml
|
||||||
|
|||||||
3
abra.sh
3
abra.sh
@ -1 +1,2 @@
|
|||||||
export ENTRYPOINT_CONF_VERSION=v7
|
export ENTRYPOINT_CONF_VERSION=v8
|
||||||
|
export CONFIGURATION_INI_VERSION=v1
|
||||||
|
|||||||
13
compose.password.yml
Normal file
13
compose.password.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
secrets:
|
||||||
|
- mumble_password
|
||||||
|
environment:
|
||||||
|
- BAM_MUMBLE_PASSWORD_FILE=/run/secrets/mumble_password
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
mumble_password:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_mumble_password_${SECRET_MUMBLE_PASSWORD_VERSION}
|
||||||
52
compose.yml
52
compose.yml
@ -3,32 +3,35 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: algielen/botamusique:8
|
image: algielen/botamusique:8.7
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
user: 0:0
|
user: 0:0
|
||||||
configs:
|
configs:
|
||||||
|
- source: configuration_ini
|
||||||
|
target: /botamusique/configuration.ini
|
||||||
|
mode: 0555
|
||||||
- source: entrypoint_conf
|
- source: entrypoint_conf
|
||||||
target: /docker-entrypoint.sh
|
target: /docker-entrypoint.sh
|
||||||
mode: 0555
|
mode: 0555
|
||||||
entrypoint: /docker-entrypoint.sh
|
entrypoint: /docker-entrypoint.sh
|
||||||
environment:
|
environment:
|
||||||
BAM_CONFIG_FILE: /config/configuration.ini
|
- BAM_CONFIG_FILE=/botamusique/configuration.ini
|
||||||
BAM_CERTIFICATE: /run/secrets/bam_certificate
|
- BAM_CERTIFICATE=/run/secrets/bam_certificate
|
||||||
BAM_MUSIC_DB: /config/music.db
|
- BAM_MUSIC_DB=/config/music.db
|
||||||
BAM_DB: /config/config.db
|
- BAM_DB=/config/config.db
|
||||||
BAM_MUMBLE_SERVER:
|
- BAM_MUMBLE_SERVER
|
||||||
# BAM_MUMBLE_PASSWORD_FILE: /run/secrets/mumble_password
|
- BAM_USER
|
||||||
BAM_USER:
|
- BAM_MUMBLE_PORT
|
||||||
BAM_MUMBLE_PORT:
|
- BAM_CHANNEL
|
||||||
BAM_CHANNEL:
|
- BAM_VERBOSE
|
||||||
BAM_VERBOSE:
|
- DOMAIN
|
||||||
volumes:
|
volumes:
|
||||||
- config:/config
|
- config:/config
|
||||||
- music_folder:/music
|
- music_folder:/music
|
||||||
secrets:
|
secrets:
|
||||||
|
- flask_secret
|
||||||
- bam_certificate
|
- bam_certificate
|
||||||
# - mumble_password
|
|
||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
@ -39,17 +42,17 @@ services:
|
|||||||
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
- "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})"
|
||||||
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
|
||||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||||
- "coop-cloud.${STACK_NAME}.version=1.0.0"
|
- "coop-cloud.${STACK_NAME}.version=2.0.2+8.7"
|
||||||
## Redirect from EXTRA_DOMAINS to DOMAIN
|
## Redirect from EXTRA_DOMAINS to DOMAIN
|
||||||
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
|
||||||
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
|
||||||
# healthcheck:
|
healthcheck:
|
||||||
# test: ["CMD", "curl", "-f", "http://localhost"]
|
test: ["CMD", "curl", "-f", "http://localhost:8181/static/js/app.mjs"]
|
||||||
# interval: 30s
|
interval: 1m
|
||||||
# timeout: 10s
|
timeout: 10s
|
||||||
# retries: 10
|
retries: 5
|
||||||
# start_period: 1m
|
start_period: 1m
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
proxy:
|
proxy:
|
||||||
@ -63,11 +66,16 @@ configs:
|
|||||||
entrypoint_conf:
|
entrypoint_conf:
|
||||||
name: ${STACK_NAME}_entrypoint_conf_${ENTRYPOINT_CONF_VERSION}
|
name: ${STACK_NAME}_entrypoint_conf_${ENTRYPOINT_CONF_VERSION}
|
||||||
file: entrypoint.sh
|
file: entrypoint.sh
|
||||||
|
configuration_ini:
|
||||||
|
name: ${STACK_NAME}_configuration_ini_${CONFIGURATION_INI_VERSION}
|
||||||
|
file: configuration.ini.tmpl
|
||||||
|
template_driver: golang
|
||||||
|
|
||||||
|
|
||||||
secrets:
|
secrets:
|
||||||
|
flask_secret:
|
||||||
|
external: true
|
||||||
|
name: ${STACK_NAME}_flask_secret_${SECRET_FLASK_SECRET_VERSION}
|
||||||
bam_certificate:
|
bam_certificate:
|
||||||
external: true
|
external: true
|
||||||
name: ${STACK_NAME}_bam_certificate_${SECRET_BAM_CERTIFICATE_VERSION}
|
name: ${STACK_NAME}_bam_certificate_${SECRET_BAM_CERTIFICATE_VERSION}
|
||||||
mumble_password:
|
|
||||||
external: true
|
|
||||||
name: ${STACK_NAME}_mumble_password_${SECRET_MUMBLE_PASSWORD_VERSION}
|
|
||||||
|
|||||||
139
configuration.ini.tmpl
Normal file
139
configuration.ini.tmpl
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
[server]
|
||||||
|
certificate =
|
||||||
|
channel = {{ env "BAM_CHANNEL" }}
|
||||||
|
host = {{ env "BAM_MUMBLE_SERVER" }}
|
||||||
|
password = {{ env "BAM_MUMBLE_PASSWORD" }}
|
||||||
|
port = {{ env "BAM_MUMBLE_PORT" }}
|
||||||
|
tokens =
|
||||||
|
|
||||||
|
|
||||||
|
[bot]
|
||||||
|
admin =
|
||||||
|
allow_other_channel_message = False
|
||||||
|
allow_private_message = True
|
||||||
|
announce_current_music = True
|
||||||
|
auto_check_update = True
|
||||||
|
autoplay_length = 5
|
||||||
|
avatar =
|
||||||
|
bandwidth = 96000
|
||||||
|
clear_when_stop_in_oneshot = False
|
||||||
|
comment = "Hi, I'm here to play radio, local music or youtube/soundcloud music. Have fun!"
|
||||||
|
database_path =
|
||||||
|
delete_allowed = True
|
||||||
|
download_attempts = 2
|
||||||
|
ducking = False
|
||||||
|
ducking_threshold = 3000
|
||||||
|
ducking_volume = 0.05
|
||||||
|
ignored_files = Thumbs.db
|
||||||
|
ignored_folders = tmp
|
||||||
|
language = en_US
|
||||||
|
logfile =
|
||||||
|
max_track_duration = 60
|
||||||
|
max_track_playlist = 20
|
||||||
|
max_volume = 1.0
|
||||||
|
music_database_path = music.db
|
||||||
|
music_folder = music_folder/
|
||||||
|
pip3_path = venv/bin/pip
|
||||||
|
playback_mode = one-shot
|
||||||
|
redirect_stderr = True
|
||||||
|
refresh_cache_on_startup = True
|
||||||
|
save_music_library = True
|
||||||
|
save_playlist = True
|
||||||
|
stereo = True
|
||||||
|
target_version = git
|
||||||
|
tmp_folder = /tmp/
|
||||||
|
tmp_folder_max_size = 10
|
||||||
|
username = botamusique
|
||||||
|
volume = 0.8
|
||||||
|
when_nobody_in_channel = nothing
|
||||||
|
when_nobody_in_channel_ignore =
|
||||||
|
|
||||||
|
[webinterface]
|
||||||
|
access_address = https://{{ env "DOMAIN" }}
|
||||||
|
auth_method = token
|
||||||
|
enabled = True
|
||||||
|
flask_secret = {{ secret "flask_secret" }}
|
||||||
|
is_web_proxified = True
|
||||||
|
listening_addr = 0.0.0.0
|
||||||
|
listening_port = 8181
|
||||||
|
max_attempts = 10
|
||||||
|
max_upload_file_size = 30M
|
||||||
|
password =
|
||||||
|
upload_enabled = True
|
||||||
|
user =
|
||||||
|
web_logfile =
|
||||||
|
|
||||||
|
[debug]
|
||||||
|
ffmpeg = False
|
||||||
|
mumble_connection = False
|
||||||
|
redirect_ffmpeg_log = False
|
||||||
|
web_access_log_level = INFO
|
||||||
|
youtube_dl = False
|
||||||
|
|
||||||
|
[radio]
|
||||||
|
jazz = http://jazz-wr04.ice.infomaniak.ch/jazz-wr04-128.mp3 "Jazz Yeah !"
|
||||||
|
|
||||||
|
[youtube_dl]
|
||||||
|
cookie_file =
|
||||||
|
source_address =
|
||||||
|
user_agent =
|
||||||
|
|
||||||
|
[commands]
|
||||||
|
add_from_shortlist = shortlist, sl
|
||||||
|
add_tag = addtag
|
||||||
|
add_webinterface_user = webuseradd
|
||||||
|
change_user_password = password
|
||||||
|
clear = clear
|
||||||
|
command_symbol = !:!
|
||||||
|
current_music = np, now
|
||||||
|
delete_from_library = delete
|
||||||
|
drop_database = dropdatabase
|
||||||
|
ducking = duck
|
||||||
|
ducking_threshold = duckthres
|
||||||
|
ducking_volume = duckv
|
||||||
|
find_tagged = findtagged, ft
|
||||||
|
help = help
|
||||||
|
joinme = joinme
|
||||||
|
kill = kill
|
||||||
|
last = last
|
||||||
|
list_file = listfile
|
||||||
|
list_webinterface_user = webuserlist
|
||||||
|
max_volume = maxvolume
|
||||||
|
mode = mode
|
||||||
|
pause = pause
|
||||||
|
play = p, play
|
||||||
|
play_file = file, f
|
||||||
|
play_file_match = filematch, fm
|
||||||
|
play_playlist = playlist
|
||||||
|
play_radio = radio
|
||||||
|
play_tag = tag
|
||||||
|
play_url = url
|
||||||
|
queue = queue
|
||||||
|
random = random
|
||||||
|
rb_play = rbplay
|
||||||
|
rb_query = rbquery
|
||||||
|
remove = rm
|
||||||
|
remove_tag = untag
|
||||||
|
remove_webinterface_user = webuserdel
|
||||||
|
repeat = repeat
|
||||||
|
requests_webinterface_access = web
|
||||||
|
rescan = rescan
|
||||||
|
search = search
|
||||||
|
skip = skip
|
||||||
|
split_username_at_space = False
|
||||||
|
stop = stop
|
||||||
|
stop_and_getout = oust
|
||||||
|
update = update
|
||||||
|
url_ban = urlban
|
||||||
|
url_ban_list = urlbanlist
|
||||||
|
url_unban = urlunban
|
||||||
|
url_unwhitelist = urlunwhitelist, urlunw
|
||||||
|
url_whitelist = urlwhitelist, urlw
|
||||||
|
url_whitelist_list = urlwhitelistlist, urlwls
|
||||||
|
user_ban = userban
|
||||||
|
user_unban = userunban
|
||||||
|
version = version
|
||||||
|
volume = volume
|
||||||
|
yt_play = yplay
|
||||||
|
yt_search = ysearch
|
||||||
|
|
||||||
1
release/2.0.0+8.7
Normal file
1
release/2.0.0+8.7
Normal file
@ -0,0 +1 @@
|
|||||||
|
MANUAL MIGRATION NEEDED! We're fully migrated to a maintained version of botamusique from azlux. However, preserving data from the old one was not a consideration. Probably you can manually move over the downloaded files to the new volume but you're on your own! If someone actually does this pls add it to release notes :3 - knoflook
|
||||||
Reference in New Issue
Block a user