diff --git a/Dockerfile.cron b/Dockerfile.cron new file mode 100644 index 0000000..cb4433c --- /dev/null +++ b/Dockerfile.cron @@ -0,0 +1,57 @@ +# Docker Seafile client, help you mount a Seafile library as a volume. +# Copyright (C) 2019, flow.gunso@gmail.com +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +FROM debian:jessie-slim + +# Prevent the packages installation to halt. +ENV DEBIAN_FRONTEND noninteractive + +# Copy over the Docker related files. +COPY utils/build/import-seafile-apt-key.sh assets/docker-entrypoint.sh / + +# Copy over the required files for Seafile/SupervisorD. +COPY assets/infinite-seaf-cli-start.sh assets/seafile-entrypoint.sh /home/seafuser/ + +# Safely import Seafile APT key, then install both seafile-cli and supervisord. +RUN echo "deb http://deb.seadrive.org jessie main" \ > /etc/apt/source.list.d/seafile.list ;\ + bash /import-seafile-apt-key.sh ;\ + apt-get update ;\ + apt-get install \ + -o Dpkg::Options::="--force-confold" \ + -y \ + seafile-cli \ + cron ;\ + apt-get clean ;\ + apt-get autoclean \ + -o APT::Clean-Installed=true ;\ + rm \ + -f \ + /var/log/fsck/*.log \ + /var/log/apt/*.log \ + /var/cache/debconf/*.dat-old \ + /import-seafile-apt-key.sh ;\ + mkdir /volume/ ;\ + echo "seafuser" > /etc/cron.allow ;\ + echo "*/20 * * * * /bin/bash /home/seafuser/infinite-seaf-cli-start.sh" > /var/spool/cron/crontabs/seafuser + +# Create the seafile client user. +ENV UNAME=seafuser +ENV UID=1000 +ENV GID=1000 +RUN groupadd -g $GID -o $UNAME ;\ + useradd -m -u $UID -g $GID -o -s /bin/bash $UNAME + +ENTRYPOINT ["/bin/bash", "/docker-entrypoint.sh"]