From 73c678450916eb73102aa8b54109b17bb8dc03cf Mon Sep 17 00:00:00 2001 From: Buster Neece Date: Fri, 3 Nov 2023 08:56:10 -0500 Subject: [PATCH] Fixes #6706 -- Fix secondary issues caused by moving storage dirs; correct Docker volume specs. --- Dockerfile | 12 ++++++++++-- util/docker/common/chown_dirs.sh | 5 +++++ util/docker/web/nginx/azuracast.conf.tmpl | 2 +- util/docker/web/startup_scripts/05_nginx_conf.sh | 9 +++++++++ 4 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 util/docker/common/chown_dirs.sh diff --git a/Dockerfile b/Dockerfile index bfe8de05e..6fa887f34 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,7 +58,8 @@ RUN bash /bd_build/redis/setup.sh COPY ./util/docker/docs /bd_build/docs/ RUN bash /bd_build/docs/setup.sh -RUN bash /bd_build/cleanup.sh \ +RUN bash /bd_build/chown_dirs.sh \ + bash /bd_build/cleanup.sh \ && rm -rf /bd_build USER azuracast @@ -67,7 +68,14 @@ RUN touch /var/azuracast/.docker USER root -VOLUME ["/var/azuracast/stations", "/var/azuracast/uploads", "/var/azuracast/backups", "/var/azuracast/sftpgo/persist", "/var/azuracast/servers/shoutcast2", "/var/azuracast/meilisearch/persist"] +VOLUME "/var/azuracast/stations" +VOLUME "/var/azuracast/backups" +VOLUME "/var/azuracast/storage/uploads" +VOLUME "/var/azuracast/storage/shoutcast2" +VOLUME "/var/azuracast/storage/stereo_tool" +VOLUME "/var/azuracast/storage/geoip" +VOLUME "/var/azuracast/storage/sftpgo" +VOLUME "/var/azuracast/storage/acme" # # Development Build diff --git a/util/docker/common/chown_dirs.sh b/util/docker/common/chown_dirs.sh new file mode 100644 index 000000000..780258884 --- /dev/null +++ b/util/docker/common/chown_dirs.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -e +set -x + +chown -R azuracast:azuracast /var/azuracast diff --git a/util/docker/web/nginx/azuracast.conf.tmpl b/util/docker/web/nginx/azuracast.conf.tmpl index 399b62b49..0be18ab47 100644 --- a/util/docker/web/nginx/azuracast.conf.tmpl +++ b/util/docker/web/nginx/azuracast.conf.tmpl @@ -118,7 +118,7 @@ server { location /static/uploads { rewrite ^(.+)\.(?:\w+)\.(js|css|png|jpg|webp)$ $1.$2 last; - alias /var/azuracast/uploads; + alias {{ default .Env.UPLOADS_DIR "/var/azuracast/storage/uploads" }}; try_files $uri =404; } diff --git a/util/docker/web/startup_scripts/05_nginx_conf.sh b/util/docker/web/startup_scripts/05_nginx_conf.sh index e29d6f3f9..b4a7a0d73 100644 --- a/util/docker/web/startup_scripts/05_nginx_conf.sh +++ b/util/docker/web/startup_scripts/05_nginx_conf.sh @@ -1,5 +1,14 @@ #!/bin/bash +# Determine the current uploads dir for the installation. +if [ -z "$UPLOADS_DIR" ]; then + if [ -d "/var/azuracast/uploads" ]; then + export UPLOADS_DIR="/var/azuracast/uploads" + else + export UPLOADS_DIR="/var/azuracast/storage/uploads" + fi +fi + # Copy the nginx template to its destination. dockerize -template "/etc/nginx/nginx.conf.tmpl:/etc/nginx/nginx.conf" \ -template "/etc/nginx/azuracast.conf.tmpl:/etc/nginx/sites-available/default"