2020-02-11 21:28:19 +00:00
|
|
|
ARG REPO=library
|
|
|
|
FROM ${REPO}/ubuntu:xenial
|
|
|
|
LABEL maintainer="ViViDboarder <vividboarder@gmail.com>"
|
2017-03-19 00:11:03 +00:00
|
|
|
|
2020-02-12 17:24:22 +00:00
|
|
|
# Allow building/running non-amd64 images from amd64
|
|
|
|
COPY --from=multiarch/qemu-user-static:4.1.0-1 /usr/bin/qemu-* /usr/bin/
|
|
|
|
|
2017-03-19 00:11:03 +00:00
|
|
|
RUN apt-get update \
|
2017-11-15 22:13:04 +00:00
|
|
|
&& apt-get install -y --no-install-recommends \
|
2017-11-16 17:22:30 +00:00
|
|
|
software-properties-common python-software-properties \
|
2017-03-19 00:11:03 +00:00
|
|
|
&& add-apt-repository ppa:duplicity-team/ppa \
|
|
|
|
&& apt-get update \
|
2017-11-15 22:13:04 +00:00
|
|
|
&& apt-get install -y --no-install-recommends \
|
2018-01-29 20:29:33 +00:00
|
|
|
cron \
|
|
|
|
duplicity \
|
2017-11-16 17:22:30 +00:00
|
|
|
lftp \
|
|
|
|
ncftp \
|
2018-01-29 20:29:33 +00:00
|
|
|
openssh-client \
|
2017-11-16 17:22:30 +00:00
|
|
|
python-cloudfiles \
|
|
|
|
python-gdata \
|
|
|
|
python-oauthlib \
|
|
|
|
python-paramiko \
|
2018-01-29 20:29:33 +00:00
|
|
|
python-pexpect \
|
|
|
|
python-pip \
|
|
|
|
python-setuptools \
|
2017-11-16 17:22:30 +00:00
|
|
|
python-swiftclient \
|
|
|
|
python-urllib3 \
|
|
|
|
rsync \
|
|
|
|
tahoe-lafs \
|
2020-02-11 21:28:19 +00:00
|
|
|
&& pip install -U --no-cache-dir boto==2.49.0 b2==1.4.2 \
|
|
|
|
&& apt-get autoremove -y python-pip python-setuptools \
|
2017-09-10 09:12:45 +00:00
|
|
|
&& apt-get clean \
|
2017-03-19 00:11:03 +00:00
|
|
|
&& rm -rf /var/apt/lists/*
|
|
|
|
|
2018-05-13 17:30:02 +00:00
|
|
|
VOLUME /root/.cache/duplicity
|
|
|
|
VOLUME /backups
|
|
|
|
VOLUME /var/lock/duplicity
|
2017-03-19 00:11:03 +00:00
|
|
|
|
|
|
|
ENV BACKUP_DEST="file:///backups"
|
|
|
|
ENV BACKUP_NAME="backup"
|
|
|
|
ENV PATH_TO_BACKUP="/data"
|
|
|
|
ENV PASSPHRASE="Correct.Horse.Battery.Staple"
|
2018-05-13 17:30:02 +00:00
|
|
|
ENV FLOCK_WAIT=60
|
2017-03-19 00:11:03 +00:00
|
|
|
|
|
|
|
# Cron schedules
|
|
|
|
ENV CRON_SCHEDULE=""
|
2017-07-30 19:18:12 +00:00
|
|
|
ENV FULL_CRON_SCHEDULE=""
|
2017-03-19 00:11:03 +00:00
|
|
|
ENV VERIFY_CRON_SCHEDULE=""
|
|
|
|
|
2018-09-28 00:32:55 +00:00
|
|
|
# Create script dirs
|
|
|
|
RUN mkdir -p /scripts/backup/before
|
|
|
|
RUN mkdir -p /scripts/backup/after
|
|
|
|
RUN mkdir -p /scripts/restore/before
|
|
|
|
RUN mkdir -p /scripts/restore/after
|
|
|
|
|
2019-02-01 21:48:00 +00:00
|
|
|
COPY backup.sh /
|
|
|
|
COPY restore.sh /
|
|
|
|
COPY start.sh /
|
|
|
|
COPY verify.sh /
|
|
|
|
COPY healthcheck.sh /
|
|
|
|
COPY cron-exec.sh /
|
|
|
|
|
|
|
|
HEALTHCHECK CMD /healthcheck.sh
|
2017-03-19 00:11:03 +00:00
|
|
|
|
2018-05-21 03:34:48 +00:00
|
|
|
CMD [ "/start.sh" ]
|