update
This commit is contained in:
1 parent
dca44d163e
commit
6e67729d61
2 files changed
+93
-7
No files matched your search
+28
-7
@@ -1,6 +1,10 @@
|
|||||||
FROM debian:8
|
FROM debian:8
|
||||||
MAINTAINER Dominique Barton
|
MAINTAINER Dominique Barton
|
||||||
|
|
||||||
|
#
|
||||||
|
# Install all required dependencies.
|
||||||
|
#
|
||||||
|
|
||||||
RUN apt-get -q update \
|
RUN apt-get -q update \
|
||||||
&& apt-get install -qy git python-pip python-dev libz-dev libxml2-dev libxslt1-dev gcc \
|
&& apt-get install -qy git python-pip python-dev libz-dev libxml2-dev libxslt1-dev gcc \
|
||||||
&& pip install cheetah lxml pyopenssl \
|
&& pip install cheetah lxml pyopenssl \
|
||||||
@@ -10,21 +14,38 @@ RUN apt-get -q update \
|
|||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
&& rm -rf /tmp/*
|
&& rm -rf /tmp/*
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create user and group for CouchPotato.
|
||||||
|
#
|
||||||
|
|
||||||
RUN groupadd -r -g 666 couchpotato \
|
RUN groupadd -r -g 666 couchpotato \
|
||||||
&& useradd -r -u 666 -g 666 -d /couchpotato couchpotato
|
&& useradd -r -u 666 -g 666 -d /couchpotato couchpotato
|
||||||
|
|
||||||
|
#
|
||||||
|
# Get CouchPotato repository.
|
||||||
|
#
|
||||||
|
|
||||||
RUN git clone -b master https://github.com/RuudBurger/CouchPotatoServer.git /couchpotato \
|
RUN git clone -b master https://github.com/RuudBurger/CouchPotatoServer.git /couchpotato \
|
||||||
&& chown -R couchpotato: /couchpotato
|
&& chown -R couchpotato: /couchpotato
|
||||||
|
|
||||||
ADD start.sh /start.sh
|
#
|
||||||
RUN chown couchpotato: /start.sh \
|
# Add CouchPotato init script.
|
||||||
&& chmod 755 /start.sh
|
#
|
||||||
|
|
||||||
VOLUME ["/datadir", "/media"]
|
ADD couchpotato.sh /couchpotato.sh
|
||||||
|
RUN chmod 755 /couchpotato.sh
|
||||||
|
|
||||||
EXPOSE 8080
|
#
|
||||||
|
# Define container settings.
|
||||||
|
#
|
||||||
|
|
||||||
USER couchpotato
|
VOLUME ["/datadir", "/download"]
|
||||||
|
|
||||||
|
EXPOSE 5000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Start CouchPotato.
|
||||||
|
#
|
||||||
|
|
||||||
WORKDIR /couchpotato
|
WORKDIR /couchpotato
|
||||||
CMD ["/start.sh"]
|
CMD ["/couchpotato.sh"]
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#
|
||||||
|
# Display settings on standard out.
|
||||||
|
#
|
||||||
|
|
||||||
|
USER="couchpotato"
|
||||||
|
|
||||||
|
echo "CouchPotato settings"
|
||||||
|
echo "===================="
|
||||||
|
echo
|
||||||
|
echo " User: ${USER}"
|
||||||
|
echo " UID: ${CP_UID:=666}"
|
||||||
|
echo " GID: ${CP_GID:=666}"
|
||||||
|
echo
|
||||||
|
echo " Config: ${CONFIG:=/datadir/config.ini}"
|
||||||
|
echo " Version: ${VERSION:=master}"
|
||||||
|
echo
|
||||||
|
|
||||||
|
#
|
||||||
|
# Change UID / GID of CouchPotato user.
|
||||||
|
#
|
||||||
|
|
||||||
|
printf "Updating UID / GID... "
|
||||||
|
[[ $(id -u ${USER}) == ${CP_UID} ]] || usermod -o -u ${CP_UID} ${USER}
|
||||||
|
[[ $(id -g ${USER}) == ${CP_GID} ]] || groupmod -o -g ${CP_GID} ${USER}
|
||||||
|
echo "[DONE]"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Set directory permissions.
|
||||||
|
#
|
||||||
|
|
||||||
|
printf "Set permissions... "
|
||||||
|
touch ${CONFIG}
|
||||||
|
chown -R ${USER}: /couchpotato
|
||||||
|
chown ${USER}: /datadir /media $(dirname ${CONFIG})
|
||||||
|
echo "[DONE]"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Update CouchPotato and checkout requested version.
|
||||||
|
#
|
||||||
|
|
||||||
|
printf "Updating CouchPotato git repository... "
|
||||||
|
git pull -q
|
||||||
|
echo "[DONE]"
|
||||||
|
|
||||||
|
printf "Getting current version... "
|
||||||
|
CURRENT_VERSION=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
echo "[${CURRENT_VERSION}]"
|
||||||
|
|
||||||
|
if [[ "${CURRENT_VERSION}" == "${VERSION}" ]]
|
||||||
|
then
|
||||||
|
printf "Checking out CouchPotato version '${VERSION}'... "
|
||||||
|
git checkout -q ${VERSION}
|
||||||
|
echo "[DONE]"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
# Finally, start CouchPotato.
|
||||||
|
#
|
||||||
|
|
||||||
|
CONFIG=${CONFIG:-/datadir/config.ini}
|
||||||
|
echo "Starting CouchPotato..."
|
||||||
|
exec ./CouchPotato.py --data_dir=$(dirname ${CONFIG}) --config_file=${CONFIG}
|
||||||
Reference in new issue
Block a user