82 lines
1.8 KiB
Docker
82 lines
1.8 KiB
Docker
FROM python:3.11-alpine
|
|
|
|
ENV PUID=1000
|
|
ENV PGID=1000
|
|
ENV GOSU_VERSION 1.17
|
|
|
|
ENV DRYRUN 'True'
|
|
ENV DEBUG 'True'
|
|
ENV DEBUG_LEVEL 'INFO'
|
|
ENV RUN_ONLY_ONCE 'False'
|
|
ENV SLEEP_DURATION '3600'
|
|
ENV LOGFILE 'log.log'
|
|
ENV MARKFILE 'mark.log'
|
|
|
|
ENV USER_MAPPING ''
|
|
ENV LIBRARY_MAPPING ''
|
|
|
|
ENV PLEX_BASEURL ''
|
|
ENV PLEX_TOKEN ''
|
|
ENV PLEX_USERNAME ''
|
|
ENV PLEX_PASSWORD ''
|
|
ENV PLEX_SERVERNAME ''
|
|
|
|
ENV JELLYFIN_BASEURL ''
|
|
ENV JELLYFIN_TOKEN ''
|
|
|
|
ENV SYNC_FROM_PLEX_TO_JELLYFIN 'True'
|
|
ENV SYNC_FROM_JELLYFIN_TO_PLEX 'True'
|
|
ENV SYNC_FROM_PLEX_TO_PLEX 'True'
|
|
ENV SYNC_FROM_JELLYFIN_TO_JELLYFIN 'True'
|
|
|
|
ENV BLACKLIST_LIBRARY ''
|
|
ENV WHITELIST_LIBRARY ''
|
|
ENV BLACKLIST_LIBRARY_TYPE ''
|
|
ENV WHITELIST_LIBRARY_TYPE ''
|
|
ENV BLACKLIST_USERS ''
|
|
ENV WHITELIST_USERS ''
|
|
|
|
|
|
RUN apk add --no-cache tini
|
|
|
|
# Install gosu
|
|
RUN set -eux; \
|
|
\
|
|
apk add --no-cache --virtual .gosu-deps \
|
|
ca-certificates \
|
|
dpkg \
|
|
gnupg \
|
|
; \
|
|
\
|
|
dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
|
|
wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; \
|
|
wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; \
|
|
\
|
|
# verify the signature
|
|
export GNUPGHOME="$(mktemp -d)"; \
|
|
gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; \
|
|
gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
|
|
gpgconf --kill all; \
|
|
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
|
|
\
|
|
# clean up fetch dependencies
|
|
apk del --no-network .gosu-deps; \
|
|
\
|
|
chmod +x /usr/local/bin/gosu; \
|
|
# verify that the binary works
|
|
gosu --version; \
|
|
gosu nobody true
|
|
|
|
WORKDIR /app
|
|
|
|
COPY ./requirements.txt ./
|
|
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY . .
|
|
|
|
RUN chmod +x *.sh
|
|
|
|
ENTRYPOINT ["tini", "--", "/app/entrypoint.sh"]
|
|
CMD ["python", "-u", "main.py"]
|