diff --git a/Dockerfiles/rtorrent/Dockerfile b/Dockerfiles/rtorrent/Dockerfile index 06df0da..fbb456b 100644 --- a/Dockerfiles/rtorrent/Dockerfile +++ b/Dockerfiles/rtorrent/Dockerfile @@ -1,10 +1,15 @@ FROM buildpack-deps:xenial-scm MAINTAINER Kelvin Chen +# For rtorrent +ENV TERM=xterm + # Install dependencies -RUN apt-get update \ +RUN curl -sL "https://github.com/just-containers/s6-overlay/releases/download/v1.18.1.5/s6-overlay-amd64.tar.gz" \ + | tar xz -C / \ + && apt-get update \ && apt-get install -y \ - supervisor \ + screen \ rtorrent \ mediainfo \ php7.0-fpm \ @@ -28,8 +33,6 @@ VOLUME /config /torrents EXPOSE 80 49161 49161/udp 6881/udp -COPY init rtorrent.rc supervisord.conf / -COPY nginx.conf /etc/nginx/nginx.conf -COPY rutorrent_config.php /opt/rutorrent/conf/config.php +COPY container-root/ / CMD ["/init"] diff --git a/Dockerfiles/rtorrent/init b/Dockerfiles/rtorrent/container-root/etc/cont-init.d/10-setup old mode 100755 new mode 100644 similarity index 56% rename from Dockerfiles/rtorrent/init rename to Dockerfiles/rtorrent/container-root/etc/cont-init.d/10-setup index bc4c145..c491ae2 --- a/Dockerfiles/rtorrent/init +++ b/Dockerfiles/rtorrent/container-root/etc/cont-init.d/10-setup @@ -1,16 +1,11 @@ -#!/usr/bin/env bash +#!/usr/bin/with-contenv sh # Make rtorrent session directory mkdir -p /config/rtorrent # Add default config if it does not exist -cp -n /rtorrent.rc /config/rtorrent/rtorrent.rc - -# Remove rtorrent lock file if it exists so rtorrent can start -rm -f /config/rtorrent/rtorrent.lock +cp -n /etc/defaults/rtorrent.rc /config/rtorrent/rtorrent.rc # Make folders for storing rutorrent data mkdir -p /config/rutorrent/settings /config/rutorrent/torrents \ /config/rutorrent/users /config/rutorrent/plugins - -exec supervisord -c /supervisord.conf diff --git a/Dockerfiles/rtorrent/rtorrent.rc b/Dockerfiles/rtorrent/container-root/etc/defaults/rtorrent.rc similarity index 100% rename from Dockerfiles/rtorrent/rtorrent.rc rename to Dockerfiles/rtorrent/container-root/etc/defaults/rtorrent.rc diff --git a/Dockerfiles/rtorrent/nginx.conf b/Dockerfiles/rtorrent/container-root/etc/nginx/nginx.conf similarity index 100% rename from Dockerfiles/rtorrent/nginx.conf rename to Dockerfiles/rtorrent/container-root/etc/nginx/nginx.conf diff --git a/Dockerfiles/rtorrent/container-root/etc/services.d/nginx/run b/Dockerfiles/rtorrent/container-root/etc/services.d/nginx/run new file mode 100644 index 0000000..807d20a --- /dev/null +++ b/Dockerfiles/rtorrent/container-root/etc/services.d/nginx/run @@ -0,0 +1,3 @@ +#!/usr/bin/with-contenv sh + +exec nginx -g "daemon off;" diff --git a/Dockerfiles/rtorrent/container-root/etc/services.d/php/run b/Dockerfiles/rtorrent/container-root/etc/services.d/php/run new file mode 100644 index 0000000..7d8562b --- /dev/null +++ b/Dockerfiles/rtorrent/container-root/etc/services.d/php/run @@ -0,0 +1,3 @@ +#!/usr/bin/with-contenv sh + +exec php-fpm7.0 -F -R diff --git a/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/finish b/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/finish new file mode 100644 index 0000000..6020b55 --- /dev/null +++ b/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/finish @@ -0,0 +1,4 @@ +#!/usr/bin/with-contenv sh + +# Make sure lock file is removed after end +rm -f /config/rtorrent/rtorrent.lock diff --git a/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/run b/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/run new file mode 100644 index 0000000..a397209 --- /dev/null +++ b/Dockerfiles/rtorrent/container-root/etc/services.d/rtorrent/run @@ -0,0 +1,6 @@ +#!/usr/bin/with-contenv sh + +# Remove rtorrent lock file if it exists so rtorrent can start +rm -f /config/rtorrent/rtorrent.lock + +exec screen -D -m -S rtorrent rtorrent diff --git a/Dockerfiles/rtorrent/rutorrent_config.php b/Dockerfiles/rtorrent/container-root/opt/rutorrent/conf/config.php similarity index 100% rename from Dockerfiles/rtorrent/rutorrent_config.php rename to Dockerfiles/rtorrent/container-root/opt/rutorrent/conf/config.php diff --git a/Dockerfiles/rtorrent/supervisord.conf b/Dockerfiles/rtorrent/supervisord.conf deleted file mode 100644 index 2539fc8..0000000 --- a/Dockerfiles/rtorrent/supervisord.conf +++ /dev/null @@ -1,20 +0,0 @@ -; vim: ft=dosini - -[supervisord] -nodaemon = true - -[program:rtorrent] -priority = 1 -environment = TERM=xterm -command = rtorrent -autorestart = true - -[program:php] -priority = 2 -command = php-fpm7.0 -F -R -autorestart = true - -[program:nginx] -priority = 3 -command = nginx -g "daemon off;" -autorestart = true