update
This commit is contained in:
+28
-7
@@ -1,6 +1,10 @@
|
||||
FROM debian:8
|
||||
MAINTAINER Dominique Barton
|
||||
|
||||
#
|
||||
# Install all required dependencies.
|
||||
#
|
||||
|
||||
RUN apt-get -q update \
|
||||
&& apt-get install -qy git python-pip python-dev libz-dev libxml2-dev libxslt1-dev gcc \
|
||||
&& pip install cheetah lxml pyopenssl \
|
||||
@@ -10,21 +14,38 @@ RUN apt-get -q update \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf /tmp/*
|
||||
|
||||
#
|
||||
# Create user and group for CouchPotato.
|
||||
#
|
||||
|
||||
RUN groupadd -r -g 666 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 \
|
||||
&& chown -R couchpotato: /couchpotato
|
||||
|
||||
ADD start.sh /start.sh
|
||||
RUN chown couchpotato: /start.sh \
|
||||
&& chmod 755 /start.sh
|
||||
#
|
||||
# Add CouchPotato init script.
|
||||
#
|
||||
|
||||
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
|
||||
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