Replace supervisord with s6-overlay

Also restructure container to have all the container relevant files in
container-root to minimize the amount of COPY instructions and to make
the file structure more organized.
This commit is contained in:
Kelvin Chen 2016-10-13 18:54:31 -04:00
parent 12947572c7
commit 0834d43314
10 changed files with 26 additions and 32 deletions

View File

@ -1,10 +1,15 @@
FROM buildpack-deps:xenial-scm FROM buildpack-deps:xenial-scm
MAINTAINER Kelvin Chen <kelvin@kelvinchen.org> MAINTAINER Kelvin Chen <kelvin@kelvinchen.org>
# For rtorrent
ENV TERM=xterm
# Install dependencies # 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 \ && apt-get install -y \
supervisor \ screen \
rtorrent \ rtorrent \
mediainfo \ mediainfo \
php7.0-fpm \ php7.0-fpm \
@ -28,8 +33,6 @@ VOLUME /config /torrents
EXPOSE 80 49161 49161/udp 6881/udp EXPOSE 80 49161 49161/udp 6881/udp
COPY init rtorrent.rc supervisord.conf / COPY container-root/ /
COPY nginx.conf /etc/nginx/nginx.conf
COPY rutorrent_config.php /opt/rutorrent/conf/config.php
CMD ["/init"] CMD ["/init"]

View File

@ -1,16 +1,11 @@
#!/usr/bin/env bash #!/usr/bin/with-contenv sh
# Make rtorrent session directory # Make rtorrent session directory
mkdir -p /config/rtorrent mkdir -p /config/rtorrent
# Add default config if it does not exist # Add default config if it does not exist
cp -n /rtorrent.rc /config/rtorrent/rtorrent.rc cp -n /etc/defaults/rtorrent.rc /config/rtorrent/rtorrent.rc
# Remove rtorrent lock file if it exists so rtorrent can start
rm -f /config/rtorrent/rtorrent.lock
# Make folders for storing rutorrent data # Make folders for storing rutorrent data
mkdir -p /config/rutorrent/settings /config/rutorrent/torrents \ mkdir -p /config/rutorrent/settings /config/rutorrent/torrents \
/config/rutorrent/users /config/rutorrent/plugins /config/rutorrent/users /config/rutorrent/plugins
exec supervisord -c /supervisord.conf

View File

@ -0,0 +1,3 @@
#!/usr/bin/with-contenv sh
exec nginx -g "daemon off;"

View File

@ -0,0 +1,3 @@
#!/usr/bin/with-contenv sh
exec php-fpm7.0 -F -R

View File

@ -0,0 +1,4 @@
#!/usr/bin/with-contenv sh
# Make sure lock file is removed after end
rm -f /config/rtorrent/rtorrent.lock

View File

@ -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

View File

@ -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