added rclone backupper Dockerfile
This commit is contained in:
@@ -46,7 +46,7 @@ services:
|
|||||||
- TZ=Europe/Berlin #change Time Zone if needed
|
- TZ=Europe/Berlin #change Time Zone if needed
|
||||||
- REDIS_HOST=redis
|
- REDIS_HOST=redis
|
||||||
volumes:
|
volumes:
|
||||||
- ncconfig:/var/www/html/config #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
# - ncconfig:/var/www/html/config #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
||||||
- ncdata:/var/www/html/data #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
- ncdata:/var/www/html/data #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
||||||
- nchome:/var/www/html #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
- nchome:/var/www/html #/srv/dev-disk-by-label-disk1 needs to be adjusted
|
||||||
# NAS shares
|
# NAS shares
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
#FROM alpine:3.9
|
||||||
|
FROM ubuntu:latest as build
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
ENV INST_RCLONE_VERSION=current
|
||||||
|
ENV ARCH=amd64
|
||||||
|
ENV SYNC_SRC=
|
||||||
|
ENV SYNC_DEST=
|
||||||
|
ENV SYNC_OPTS=-v
|
||||||
|
ENV RCLONE_OPTS="--config /config/rclone.conf"
|
||||||
|
ENV CRON=
|
||||||
|
ENV CRON_ABORT=
|
||||||
|
ENV FORCE_SYNC=
|
||||||
|
ENV CHECK_URL=
|
||||||
|
ENV TZ=
|
||||||
|
|
||||||
|
|
||||||
|
# install rclone
|
||||||
|
#RUN apk -U add ca-certificates fuse wget dcron tzdata \
|
||||||
|
# && rm -rf /var/cache/apk/* \
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y ca-certificates fuse wget cron tzdata zip unzip \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& wget -q http://downloads.rclone.org/rclone-${INST_RCLONE_VERSION}-linux-${ARCH}.zip \
|
||||||
|
&& unzip /tmp/rclone-${INST_RCLONE_VERSION}-linux-${ARCH}.zip \
|
||||||
|
&& mv /tmp/rclone-*-linux-${ARCH}/rclone /usr/bin \
|
||||||
|
&& rm -r /tmp/rclone* \
|
||||||
|
&& apt autoremove -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& apt clean
|
||||||
|
|
||||||
|
|
||||||
|
# install entrypoint
|
||||||
|
ADD ../docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
|
||||||
|
#ADD config/rclone.conf /root/.config/rclone/rclone.conf
|
||||||
|
|
||||||
|
VOLUME ["/config"]
|
||||||
|
|
||||||
|
# defaults env vars
|
||||||
|
ENV CRON_SCHEDULE="0 0 * * *"
|
||||||
|
ENV COMMAND="rclone version"
|
||||||
|
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
RUN touch /var/log/cron.log
|
||||||
|
|
||||||
|
CMD ["cron", "-f"]
|
||||||
|
#CMD cron -f -l 2
|
||||||
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
../docker-entrypoint.sh
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
#FROM alpine:3.9
|
||||||
|
FROM ubuntu:latest as build
|
||||||
|
|
||||||
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
ENV INST_RCLONE_VERSION=current
|
||||||
|
ENV ARCH=arm64
|
||||||
|
ENV SYNC_SRC=
|
||||||
|
ENV SYNC_DEST=
|
||||||
|
ENV SYNC_OPTS=-v
|
||||||
|
ENV RCLONE_OPTS="--config /config/rclone.conf"
|
||||||
|
ENV CRON=
|
||||||
|
ENV CRON_ABORT=
|
||||||
|
ENV FORCE_SYNC=
|
||||||
|
ENV CHECK_URL=
|
||||||
|
ENV TZ=
|
||||||
|
|
||||||
|
|
||||||
|
# install rclone
|
||||||
|
#RUN apk -U add ca-certificates fuse wget dcron tzdata \
|
||||||
|
# && rm -rf /var/cache/apk/* \
|
||||||
|
RUN apt update
|
||||||
|
RUN apt install -y ca-certificates fuse wget cron tzdata zip unzip \
|
||||||
|
&& cd /tmp \
|
||||||
|
&& wget -q http://downloads.rclone.org/rclone-${INST_RCLONE_VERSION}-linux-${ARCH}.zip \
|
||||||
|
&& unzip /tmp/rclone-${INST_RCLONE_VERSION}-linux-${ARCH}.zip \
|
||||||
|
&& mv /tmp/rclone-*-linux-${ARCH}/rclone /usr/bin \
|
||||||
|
&& rm -r /tmp/rclone* \
|
||||||
|
&& apt autoremove -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
|
&& apt clean
|
||||||
|
|
||||||
|
|
||||||
|
# install entrypoint
|
||||||
|
ADD ../docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
|
||||||
|
#ADD config/rclone.conf /root/.config/rclone/rclone.conf
|
||||||
|
|
||||||
|
VOLUME ["/config"]
|
||||||
|
|
||||||
|
# defaults env vars
|
||||||
|
ENV CRON_SCHEDULE="0 0 * * *"
|
||||||
|
ENV COMMAND="rclone version"
|
||||||
|
|
||||||
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
RUN touch /var/log/cron.log
|
||||||
|
|
||||||
|
CMD ["cron", "-f"]
|
||||||
|
#CMD cron -f -l 2
|
||||||
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
../docker-entrypoint.sh
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CRONJOB="$CRON_SCHEDULE $COMMAND $RCLONE_OPTS"
|
||||||
|
|
||||||
|
echo "Configuring..."
|
||||||
|
|
||||||
|
echo "This cron job will be added :"
|
||||||
|
echo "$CRONJOB"
|
||||||
|
|
||||||
|
echo "Installing the cron job..."
|
||||||
|
echo "$CRONJOB > /proc/1/fd/1 2>/proc/1/fd/2" > /var/spool/cron/crontabs/root
|
||||||
|
chown root:root /var/spool/cron/crontabs/root
|
||||||
|
chmod 600 /var/spool/cron/crontabs/root
|
||||||
|
|
||||||
|
echo "We run the command once (initial check)..."
|
||||||
|
#eval "$COMMAND"
|
||||||
|
|
||||||
|
# run the CMD
|
||||||
|
echo "First sync was successful, starting cron !"
|
||||||
|
exec "$@"
|
||||||
Reference in New Issue
Block a user