media (production-tubesync)

Published 2025-07-16 08:02:30 -04:00 by colin

Installation

docker pull git.nixc.us/colin/media:production-tubesync
sha256:357d1bf2b8cc79eb49e53f54acf6d484d182c8b269ad0bb81532d7b5712f054e

Image Layers

# debian.sh --arch 'amd64' out/ 'bookworm' '@1751241600'
ARG TARGETARCH=amd64
ENV DEBIAN_FRONTEND=noninteractive APT_KEEP_ARCHIVES=1 EDITOR=editor HOME=/root LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 TERM=xterm PIP_NO_COMPILE=1 PIP_ROOT_USER_ACTION=ignore
RUN |1 TARGETARCH=amd64 /bin/sh -c rm -f /var/cache/apt/*cache.bin ; rm -f /etc/apt/apt.conf.d/docker-clean ; printf -- >| /etc/apt/apt.conf.d/docker-disable-pkgcache 'Dir::Cache::%spkgcache "";\n' '' src ; chmod a+r /etc/apt/apt.conf.d/docker-disable-pkgcache ; set -x && apt-get update && LC_ALL='C.UTF-8' LANG='C.UTF-8' LANGUAGE='C.UTF-8' apt-get -y --no-install-recommends install locales && printf -- "en_US.UTF-8 UTF-8\n" > /etc/locale.gen && locale-gen && apt-get -y autopurge && apt-get -y autoclean && rm -f /var/cache/debconf/*.dat-old # buildkit
COPY /etc/apt/trusted.gpg.d/openresty.gpg /etc/apt/trusted.gpg.d/openresty.gpg # buildkit
COPY /etc/apt/sources.list.d/openresty.list /etc/apt/sources.list.d/openresty.list # buildkit
RUN |1 TARGETARCH=amd64 /bin/sh -c set -x && apt-get update && apt-get -y --no-install-recommends install nginx-common openresty && apt-get -y autopurge && apt-get -y autoclean && rm -v -f /var/cache/debconf/*.dat-old # buildkit
ARG S6_VERSION=3.2.0.3
ARG FFMPEG_DATE=2025-06-29-15-12
ARG FFMPEG_VERSION=N-120061-gcfd1f81e7d
ARG TARGETARCH=amd64
ENV S6_VERSION=3.2.0.3 FFMPEG_DATE=2025-06-29-15-12 FFMPEG_VERSION=N-120061-gcfd1f81e7d
RUN |4 TARGETARCH=amd64 S6_VERSION=3.2.0.3 FFMPEG_DATE=2025-06-29-15-12 FFMPEG_VERSION=N-120061-gcfd1f81e7d /bin/sh -c set -x && apt-get update && apt-get -y --no-install-recommends install libmariadb3 libonig5 pkgconf python3 python3-libsass python3-pip-whl python3-socks curl indent less lua-lpeg tre-agrep vis xxd && ln -v -s -f -T "$(find /usr/local/lib -name 'python3.[0-9]*' -type d -printf '%P\n' | sort -r -V | head -n 1)" /usr/local/lib/python3 && touch /usr/local/bin/babi /bin/nano /usr/bin/vim.tiny && update-alternatives --install /usr/bin/editor editor /usr/local/bin/babi 50 && update-alternatives --install /usr/local/bin/nano nano /bin/nano 10 && update-alternatives --install /usr/local/bin/nano nano /usr/local/bin/babi 20 && update-alternatives --install /usr/local/bin/vim vim /usr/bin/vim.tiny 15 && update-alternatives --install /usr/local/bin/vim vim /usr/bin/vis 35 && rm -v /usr/local/bin/babi /bin/nano /usr/bin/vim.tiny && groupadd app && useradd -M -d /app -s /bin/false -g app app && apt-get -y autopurge && apt-get -y autoclean && rm -v -f /var/cache/debconf/*.dat-old # buildkit
COPY / / # buildkit
COPY /usr/local/bin/ /usr/local/bin/ # buildkit
RUN |4 TARGETARCH=amd64 S6_VERSION=3.2.0.3 FFMPEG_DATE=2025-06-29-15-12 FFMPEG_VERSION=N-120061-gcfd1f81e7d /bin/sh -c set -x && apt-get update && apt-get -y --no-install-recommends install file && file -L /command/s6-overlay-suexec && /usr/local/bin/ffmpeg -version && file /usr/local/bin/ff* && apt-get -y autoremove --purge file && apt-get -y autopurge && apt-get -y autoclean && rm -v -f /var/cache/debconf/*.dat-old # buildkit
WORKDIR /app
ARG YTDLP_DATE=2025.06.30
RUN |5 TARGETARCH=amd64 S6_VERSION=3.2.0.3 FFMPEG_DATE=2025-06-29-15-12 FFMPEG_VERSION=N-120061-gcfd1f81e7d YTDLP_DATE=2025.06.30 /bin/sh -c set -x && apt-get update && apt-get -y --no-install-recommends install default-libmysqlclient-dev g++ gcc libjpeg-dev libonig-dev libpq-dev libwebp-dev make postgresql-common python3-dev zlib1g-dev && mkdir -v -p /cache/.home-directories && cp -at /cache/.home-directories/ "${HOME}" && HOME="/cache/.home-directories/${HOME#/}" XDG_CACHE_HOME='/cache' PIPENV_VERBOSITY=64 PYTHONPYCACHEPREFIX=/cache/pycache uv tool run --no-config --no-progress --no-managed-python -- pipenv lock && HOME="/cache/.home-directories/${HOME#/}" XDG_CACHE_HOME='/cache' PIPENV_VERBOSITY=1 PYTHONPYCACHEPREFIX=/cache/pycache uv tool run --no-config --no-progress --no-managed-python -- pipenv requirements --from-pipfile --hash >| /cache/requirements.txt && rm -v Pipfile.lock && cat -v /cache/requirements.txt && HOME="/cache/.home-directories/${HOME#/}" UV_LINK_MODE='copy' XDG_CACHE_HOME='/cache' PYTHONPYCACHEPREFIX=/cache/pycache uv --no-config --no-progress --no-managed-python pip install --strict --system --break-system-packages --requirements /cache/requirements.txt && find /usr/local/lib -name 'getpot_bgutil_script.py' -path '*/yt_dlp_plugins/extractor/getpot_bgutil_script.py' -type f -print -delete && apt-get -y autoremove --purge default-libmysqlclient-dev g++ gcc libjpeg-dev libonig-dev libpq-dev libwebp-dev make postgresql-common python3-dev zlib1g-dev && apt-get -y autopurge && apt-get -y autoclean && LD_LIBRARY_PATH=/usr/local/lib/python3/dist-packages/pillow.libs:/usr/local/lib/python3/dist-packages/psycopg_binary.libs find /usr/local/lib/python3/dist-packages/ -name '*.so*' -print -exec du -h '{}' ';' -exec ldd '{}' ';' >| /cache/python-shared-objects 2>&1 && rm -v -f /var/cache/debconf/*.dat-old && rm -v -rf /tmp/* ; if grep >/dev/null -Fe ' => not found' /cache/python-shared-objects ; then cat -v /cache/python-shared-objects ; printf -- 1>&2 '%s\n' ERROR: ' An unresolved shared object was found.' ; exit 1 ; fi # buildkit
COPY config/root / # buildkit
COPY patches/background_task/ /usr/local/lib/python3/dist-packages/background_task/ # buildkit
COPY patches/yt_dlp/ /usr/local/lib/python3/dist-packages/yt_dlp/ # buildkit
COPY /app /app # buildkit
RUN |5 TARGETARCH=amd64 S6_VERSION=3.2.0.3 FFMPEG_DATE=2025-06-29-15-12 FFMPEG_VERSION=N-120061-gcfd1f81e7d YTDLP_DATE=2025.06.30 /bin/sh -c set -x && test '!' -e /app/db.sqlite3 && /usr/bin/python3 -B /app/manage.py compilescss && /usr/bin/python3 -B /app/manage.py collectstatic --no-input --link && rm -rf /config /downloads /run/app && mkdir -v -p /run/app && mkdir -v -p /config/media /config/tasks && mkdir -v -p /config/cache/pycache && mkdir -v -p /downloads/audio && mkdir -v -p /downloads/video && openresty -c /etc/nginx/nginx.conf -e stderr -t && ffmpeg_version=$(/usr/local/bin/ffmpeg -version | awk -v 'ev=31' '1 == NR && "ffmpeg" == $1 { print $3; ev=0; } END { exit ev; }') && test -n "${ffmpeg_version}" && printf -- "ffmpeg_version = '%s'\n" "${ffmpeg_version}" >> /app/common/third_party_versions.py # buildkit
HEALTHCHECK &{["CMD" "/app/healthcheck.py" "http://127.0.0.1:8080/healthcheck"] "1m0s" "10s" "3m0s" "0s" '\x00'}
ENV PYTHONPATH=/app PYTHONPYCACHEPREFIX=/config/cache/pycache S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 XDG_CACHE_HOME=/config/cache XDG_CONFIG_HOME=/config/tubesync XDG_STATE_HOME=/config/state
EXPOSE map[4848/tcp:{}]
VOLUME [/config /downloads]
ENTRYPOINT ["/init"]

Labels

Key Value
com.docker.compose.project media
com.docker.compose.service tubesync
com.docker.compose.version 2.36.2
Details
Container
2025-07-16 08:02:30 -04:00
66
OCI / Docker
linux/amd64
201 MiB
Versions (16) View all