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"]