You are on page 1of 3

#PROVIDE: subsonic1 #KEYWORD: shutdown #!/bin/sh . /etc/rc.subr name="subsonic" rcvar=${name}_enable ################################################################################ ### # Shell script for starting Subsonic.

See http://subsonic.org. # # Author: Sindre Mehus ################################################################################ ### SUBSONIC_HOME=/var/subsonic SUBSONIC_HOST=0.0.0.0 SUBSONIC_PORT=4040 SUBSONIC_HTTPS_PORT=0 SUBSONIC_CONTEXT_PATH=/ SUBSONIC_MAX_MEMORY=512 SUBSONIC_PIDFILE= SUBSONIC_DEFAULT_MUSIC_FOLDER=/var/music SUBSONIC_DEFAULT_PODCAST_FOLDER=/var/music/Podcast SUBSONIC_DEFAULT_PLAYLIST_FOLDER=/var/playlists quiet=0 usage() { echo "Usage: subsonic.sh [options]" echo " --help This small usage guide." echo " --home=DIR The directory where Subsonic will create files. " echo " Make sure it is writable. Default: /var/subsoni c" echo " --host=HOST The host name or IP address on which to bind Su bsonic." echo " Only relevant if you have multiple network inte rfaces and want" echo " to make Subsonic available on only one of them. The default value" echo " will bind Subsonic to all available network int erfaces. Default: 0.0.0.0" echo " --port=PORT The port on which Subsonic will listen for" echo " incoming HTTP traffic. Default: 4040" echo " --https-port=PORT The port on which Subsonic will listen for" echo " incoming HTTPS traffic. Default: 0 (disabled)" echo " --context-path=PATH The context path, i.e., the last part of the Su bsonic" echo " URL. Typically '/' or '/subsonic'. Default '/'" echo " --max-memory=MB The memory limit (max Java heap size) in megaby tes." echo " Default: 100" echo " --pidfile=PIDFILE Write PID to this file. Default not created." echo " --quiet Don't print anything to standard out. Default f alse." echo " --default-music-folder=DIR Configure Subsonic to use this folder

for music. This option " echo " only has effect the first c is started. Default '/var/music'" echo " --default-podcast-folder=DIR Configure Subsonic to use for Podcasts. This option " echo " only has effect the first c is started. Default '/var/music/Podcast'" echo " --default-playlist-folder=DIR Configure Subsonic to use for playlists. This option " echo " only has effect the first c is started. Default '/var/playlists'" exit 1 }

time Subsoni this folder time Subsoni this folder time Subsoni

# Parse arguments. while [ $# -ge 1 ]; do case $1 in --help) usage ;; --home=?*) SUBSONIC_HOME=${1#--home=} ;; --host=?*) SUBSONIC_HOST=${1#--host=} ;; --port=?*) SUBSONIC_PORT=${1#--port=} ;; --https-port=?*) SUBSONIC_HTTPS_PORT=${1#--https-port=} ;; --context-path=?*) SUBSONIC_CONTEXT_PATH=${1#--context-path=} ;; --max-memory=?*) SUBSONIC_MAX_MEMORY=${1#--max-memory=} ;; --pidfile=?*) SUBSONIC_PIDFILE=${1#--pidfile=} ;; --quiet) quiet=1 ;; --default-music-folder=?*) SUBSONIC_DEFAULT_MUSIC_FOLDER=${1#--default-music-folder=} ;; --default-podcast-folder=?*) SUBSONIC_DEFAULT_PODCAST_FOLDER=${1#--default-podcast-folder=} ;; --default-playlist-folder=?*) SUBSONIC_DEFAULT_PLAYLIST_FOLDER=${1#--default-playlist-folder=} ;; *) usage ;; esac shift done

# Use JAVA_HOME if set, otherwise assume java is in the path. JAVA=java if [ -e "${JAVA_HOME}" ] then JAVA=${JAVA_HOME}/bin/java fi # Create Subsonic home directory. mkdir -p ${SUBSONIC_HOME} LOG=${SUBSONIC_HOME}/subsonic_sh.log rm -f ${LOG} #cd $(dirname $0) #if [ -L $0 ] && ([ -e /bin/readlink ] # cd $(dirname $(readlink $0)) #fi cd /var/subsonic [ -e /usr/bin/readlink ]); then

${JAVA} -Xmx${SUBSONIC_MAX_MEMORY}m \ -Dsubsonic.home=${SUBSONIC_HOME} \ -Dsubsonic.host=${SUBSONIC_HOST} \ -Dsubsonic.port=${SUBSONIC_PORT} \ -Dsubsonic.httpsPort=${SUBSONIC_HTTPS_PORT} \ -Dsubsonic.contextPath=${SUBSONIC_CONTEXT_PATH} \ -Dsubsonic.defaultMusicFolder=${SUBSONIC_DEFAULT_MUSIC_FOLDER} \ -Dsubsonic.defaultPodcastFolder=${SUBSONIC_DEFAULT_PODCAST_FOLDER} \ -Dsubsonic.defaultPlaylistFolder=${SUBSONIC_DEFAULT_PLAYLIST_FOLDER} \ -Djava.awt.headless=true \ -jar subsonic-booter-jar-with-dependencies.jar > ${LOG} 2>&1 & # Write pid to pidfile if it is defined. if [ $SUBSONIC_PIDFILE ]; then echo $! > ${SUBSONIC_PIDFILE} fi if [ $quiet = 0 ]; then echo Started Subsonic [PID $!, ${LOG}] fi

You might also like