* Adopted linuxserver container pattern

* Clean up Dockerfile
* Use default rclone.conf and add check if doesn't exist (from docker_user)
This commit is contained in:
Noel Madali
2022-03-07 12:30:02 -05:00
committed by Sebastian Goscik
parent 71c86714c1
commit 24e508bf69
5 changed files with 70 additions and 7 deletions

3
.gitignore vendored
View File

@@ -113,5 +113,8 @@ ENV/
# mkdocs build dir
site/
# Docker mounted volumes
config/
data/
.envrc

View File

@@ -1,24 +1,53 @@
# To build run:
# $ poetry build
# $ docker build -t ghcr.io/ep1cman/unifi-protect-backup .
FROM python:3.9-alpine
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
LABEL maintainer="ep1cman"
WORKDIR /app
RUN apk add gcc musl-dev zlib-dev jpeg-dev rclone ffmpeg
COPY dist/unifi-protect-backup-0.5.1.tar.gz sdist.tar.gz
RUN pip install sdist.tar.gz
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
shadow \
gcc \
musl-dev \
jpeg-dev \
zlib-dev && \
echo "**** install packages ****" && \
apk add --no-cache \
rclone \
ffmpeg \
py3-pip \
python3-dev
# Install unifi-protect-backup
RUN echo "**** install unifi-protect-backup ****"
COPY dist/unifi-protect-backup-0.5.0.tar.gz sdist.tar.gz
RUN \
pip install sdist.tar.gz && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/app/sdist.tar.gz
# Settings
ENV UFP_USERNAME=unifi_protect_user
ENV UFP_PASSWORD=unifi_protect_password
ENV UFP_ADDRESS=127.0.0.1
ENV UFP_PORT=443
ENV UFP_SSL_VERIFY=true
ENV RCLONE_RETENTION=7d
ENV RCLONE_DESTINATION=my_remote:/unifi_protect_backup
ENV RCLONE_DESTINATION=local:/data
ENV VERBOSITY="v"
ENV TZ=UTC
ENV IGNORE_CAMERAS=""
VOLUME [ "/root/.config/rclone/" ]
COPY docker_root/ /
CMD ["sh", "-c", "unifi-protect-backup -${VERBOSITY}"]
VOLUME [ "/config" ]
VOLUME [ "/data" ]

View File

@@ -0,0 +1,2 @@
[local]
type = local

View File

@@ -0,0 +1,23 @@
#!/usr/bin/with-contenv bash
mkdir -p /config/rclone
# For backwards compatibility
[[ -f "/root/.config/rclone/rclone.conf" ]] && \
echo "DEPRECATED: Copying rclone conf from /root/.config/rclone/rclone.conf, please change your mount to /config/rclone.conf"
cp \
/root/.config/rclone/rclone.conf \
/config/rclone/rclone.conf
# default config file
[[ ! -f "/config/rclone/rclone.conf" ]] && \
mkdir -p /config/rclone && \
cp \
/defaults/rclone.conf \
/config/rclone/rclone.conf
chown -R abc:abc \
/config
chown -R abc:abc \
/data

View File

@@ -0,0 +1,6 @@
#!/usr/bin/with-contenv bash
export RCLONE_CONFIG=/config/rclone/rclone.conf
exec \
s6-setuidgid abc unifi-protect-backup -${VERBOSITY}