Files
restic-backup-docker/Dockerfile
2020-07-07 18:02:03 +02:00

49 lines
1.2 KiB
Docker

FROM alpine:latest as rclone
# Get rclone executable
ADD https://downloads.rclone.org/rclone-current-linux-amd64.zip /
RUN unzip rclone-current-linux-amd64.zip && mv rclone-*-linux-amd64/rclone /bin/rclone && chmod +x /bin/rclone
FROM restic/restic:0.9.6
# install mailx
RUN apk add --update --no-cache heirloom-mailx fuse
COPY --from=rclone /bin/rclone /bin/rclone
RUN \
mkdir -p /mnt/restic /var/spool/cron/crontabs /var/log; \
touch /var/log/cron.log;
ENV RESTIC_REPOSITORY=/mnt/restic
ENV RESTIC_PASSWORD=""
ENV RESTIC_TAG=""
ENV NFS_TARGET=""
ENV BACKUP_CRON="0 */6 * * *"
ENV RESTIC_FORGET_ARGS=""
ENV RESTIC_JOB_ARGS=""
ENV MAILX_ARGS=""
# openshift fix
RUN mkdir /.cache && \
chgrp -R 0 /.cache && \
chmod -R g=u /.cache && \
chgrp -R 0 /mnt && \
chmod -R g=u /mnt && \
chgrp -R 0 /var/spool/cron/crontabs/root && \
chmod -R g=u /var/spool/cron/crontabs/root && \
chgrp -R 0 /var/log/cron.log && \
chmod -R g=u /var/log/cron.log
# /data is the dir where you have to put the data to be backed up
VOLUME /data
COPY backup.sh /bin/backup
COPY entry.sh /entry.sh
WORKDIR "/"
ENTRYPOINT ["/entry.sh"]
CMD ["tail","-fn0","/var/log/cron.log"]