diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e35092a --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +FROM phusion/baseimage:0.9.15 +MAINTAINER Stian Larsen +RUN rm -rf /etc/service/sshd /etc/my_init.d/00_regen_ssh_host_keys.sh +ENV DEBIAN_FRONTEND noninteractive +ENV TERM screen + +# Set correct environment variables +ENV HOME /root + + +# Use baseimage-docker's init system +CMD ["/sbin/my_init"] + +# Configure nzbdrone's apt repository +RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FDA5DFFC && \ +echo "deb http://update.nzbdrone.com/repos/apt/debian master main" >> /etc/apt/sources.list && \ +apt-get update -q && \ +apt-get install -qy libmono-cil-dev nzbdrone && \ +apt-get clean && \ +rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* + +#Ports and Volumes +VOLUME /config +VOLUME /downloads +VOLUME /tv +EXPOSE 8989 + +#Adding Custom files +ADD init/ /etc/my_init.d/ +ADD services/ /etc/service/ +RUN chmod -v +x /etc/service/*/run +RUN chmod -v +x /etc/my_init.d/*.sh + +#Adduser +RUN useradd -u 911 -U -s /bin/false abc +RUN usermod -G users abc + diff --git a/README.md b/README.md new file mode 100644 index 0000000..841bfd3 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# lonix/nzbdrone + + +**sample create command:** +``` +docker create --name= -v /etc/localtime:/etc/localtime:ro -v :/config -v :/tv -v :/downloads -e PGID= -e PUID= -p 80:80 lonix/nzbdrone:2.0 +``` + +**You need to map** +* PORT: 8989 for Webui +* MOUNT: /downloads for downloads +* MOUNT: /etc/localhost for timesync (Not required) +* MOUNT: /config for Configuration storage +* MOUNT: /tv for tv-collection +* VARIABLE: PGID for for GroupID +* VARIABLE: PUID for for UserID + +It is based on phusion-baseimage with ssh removed. (use docker exec). + + +**Credits** +lonix + +**Versions** +2.0 gid/uid fix. and code cleanup. +1.0: Inital release + diff --git a/init/10_update_nzbdrone.sh b/init/10_update_nzbdrone.sh new file mode 100644 index 0000000..53366d6 --- /dev/null +++ b/init/10_update_nzbdrone.sh @@ -0,0 +1,3 @@ +#!/bin/bash +apt-get update -qq +apt-get --only-upgrade install -yqq nzbdrone diff --git a/init/20_cleanpid.sh b/init/20_cleanpid.sh new file mode 100644 index 0000000..7ec312d --- /dev/null +++ b/init/20_cleanpid.sh @@ -0,0 +1,2 @@ +#!/bin/bash +if [ -f /config/nzbdrone.pid ]; then rm -r /config/nzbdrone.pid; fi diff --git a/init/90_new_user.sh b/init/90_new_user.sh new file mode 100644 index 0000000..25929ba --- /dev/null +++ b/init/90_new_user.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ ! "$(id -u abc)" -eq "$PUID" ]; then usermod -u "$PUID" abc ; fi +if [ ! "$(id -g abc)" -eq "$PGID" ]; then groupmod -g "$PGID" abc ; fi + +echo " +----------------------------------- +GID/UID +----------------------------------- +User uid: $(id -u abc) +User gid: $(id -g abc) +----------------------------------- +" diff --git a/services/nzbdrone/run b/services/nzbdrone/run new file mode 100644 index 0000000..df83c4a --- /dev/null +++ b/services/nzbdrone/run @@ -0,0 +1,3 @@ +#!/bin/bash + +exec /sbin/setuser abc mono /opt/NzbDrone/NzbDrone.exe -nobrowswer -data=/config