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