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:
parent
12947572c7
commit
0834d43314
|
@ -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"]
|
||||||
|
|
9
Dockerfiles/rtorrent/init → Dockerfiles/rtorrent/container-root/etc/cont-init.d/10-setup
Executable file → Normal file
9
Dockerfiles/rtorrent/init → Dockerfiles/rtorrent/container-root/etc/cont-init.d/10-setup
Executable file → Normal 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
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
exec nginx -g "daemon off;"
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
exec php-fpm7.0 -F -R
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/with-contenv sh
|
||||||
|
|
||||||
|
# Make sure lock file is removed after end
|
||||||
|
rm -f /config/rtorrent/rtorrent.lock
|
|
@ -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
|
|
@ -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
|
|
Loading…
Reference in New Issue