Optimize database on startup

This commit is contained in:
dave 2019-04-09 15:34:15 -07:00
parent 9a3ec36336
commit ef6353aa60
4 changed files with 26 additions and 14 deletions

View File

@ -1,18 +1,21 @@
FROM ubuntu:trusty
FROM ubuntu:bionic
EXPOSE 4050
EXPOSE 4051
RUN apt-get update && \
apt-get install -y wget && \
apt-get install -y openjdk-7-jre-headless wget supervisor && \
wget -O /tmp/subsonic.deb https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.beta2.deb && \
apt-get install -y openjdk-8-jre-headless wget sudo
RUN wget -qO /tmp/subsonic.deb https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.beta2.deb && \
dpkg -i /tmp/subsonic.deb && \
useradd subsonic && \
mkdir /var/subsonic/lucene2 && \
chown -R subsonic:subsonic /var/subsonic
chown -R subsonic:subsonic /var/subsonic && \
mkdir /tools && \
wget -qO /tools/hsqldb-1.8.0.5.jar http://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.5/hsqldb-1.8.0.5.jar && \
wget -qO /tools/sqltool-2.0.0.jar http://repo1.maven.org/maven2/org/hsqldb/sqltool/2.0.0/sqltool-2.0.0.jar
ADD supervisor.conf /etc/supervisor/conf.d/supervisor.conf
ADD subsonic.conf /etc/supervisor/conf.d/subsonic.conf
ADD start /start
ENTRYPOINT ["/start"]
ENTRYPOINT ["supervisord"]

16
start Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
set -ex
# Run database optimization (if the db already exists)
if [ -f /var/subsonic/db/subsonic.properties ] ; then
cd /var/subsonic/db/
sudo -Hu subsonic java -cp :/tools/sqltool-2.0.0.jar:/tools/hsqldb-1.8.0.5.jar org.hsqldb.cmdline.SqlTool --inlineRc=url=jdbc:hsqldb:file:subsonic --driver org.hsqldb.jdbcDriver --sql "SHUTDOWN COMPACT;"
fi
# Start the main service
cd /usr/share/subsonic
chown -R subsonic:subsonic /var/subsonic
sudo -Hu subsonic java -Xmx256m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0.0.0.0 -Dsubsonic.port=4051 -Dsubsonic.httpsPort=4050 -Dsubsonic.contextPath=/ -Dsubsonic.defaultMusicFolder=/var/music -Dsubsonic.defaultPodcastFolder=/var/music/Podcast -Dsubsonic.defaultPlaylistFolder=/var/playlists -Djava.awt.headless=true -verbose:gc -jar subsonic-booter-jar-with-dependencies.jar

View File

@ -1,5 +0,0 @@
[program:subsonic]
command=java -Xmx256m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0.0.0.0 -Dsubsonic.port=4051 -Dsubsonic.httpsPort=4050 -Dsubsonic.contextPath=/ -Dsubsonic.defaultMusicFolder=/var/music -Dsubsonic.defaultPodcastFolder=/var/music/Podcast -Dsubsonic.defaultPlaylistFolder=/var/playlists -Djava.awt.headless=true -verbose:gc -jar subsonic-booter-jar-with-dependencies.jar
autorestart=true
user=subsonic
directory=/usr/share/subsonic

View File

@ -1,2 +0,0 @@
[supervisord]
nodaemon=true