Alex Lebens alexlebens
  • Joined on 2023-09-27

rayflume (main)

Published 2025-12-25 05:04:59 +00:00 by alexlebens

Installation

docker pull gitea.alexlebens.dev/alexlebens/rayflume:main
sha256:3339842e6f3f4ffd83b5c27f9f43287e25b4206a4a52efb3a5a98d4ad9c8ff57

Images

Digest OS / Arch Size
eadf4e88c6 linux/amd64 185 MiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'trixie' '@1765152000'
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=C.UTF-8
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; apt-get dist-clean # buildkit
ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
ENV PYTHON_VERSION=3.12.12
ENV PYTHON_SHA256=fb85a13414b028c49ba18bbd523c2d055a30b56b18b92ce454ea2c51edc656c4
RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -rt dpkg-query --search | awk 'sub(":$", "", $1) { print $1 }' | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; apt-get dist-clean; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit
RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit
CMD ["python3"]
LABEL version=0.0.0
LABEL description=Simple web app to provide YT import lists to Lidarr
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /app
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential ca-certificates curl supervisor nginx && rm -rf /var/lib/apt/lists/* && rm -rf /root/.cache /tmp/* && find /usr/local -type d -name __pycache__ -exec rm -rf {} + # buildkit
COPY requirements.txt ./requirements.txt # buildkit
RUN /bin/sh -c pip install --no-cache-dir -r requirements.txt # buildkit
COPY src ./ # buildkit
COPY nginx.conf /etc/nginx/sites-enabled/default # buildkit
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf # buildkit
COPY entrypoint.sh /entrypoint.sh # buildkit
RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit
RUN /bin/sh -c useradd -U -M -s /bin/sh abc # buildkit
RUN /bin/sh -c mkdir -p /app/data && python manage.py collectstatic --noinput || true # buildkit
ENV HOST=0.0.0.0
ENV SITE_URL=http://localhost
ENV PORT=80
EXPOSE [80/tcp]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["/usr/bin/supervisord" "-c" "/etc/supervisor/conf.d/supervisord.conf"]

Labels

Key Value
description Simple web app to provide YT import lists to Lidarr
org.opencontainers.image.created 2025-12-25T05:03:40.576Z
org.opencontainers.image.description RayFlume is a bridge between YouTube playlists and Lidarr. It lets you sync YouTube playlists (e.g. "Liked Music" or your own playlists) into Lidarr as import lists, so Lidarr can automatically manage your music library.
org.opencontainers.image.licenses
org.opencontainers.image.revision 774abf04327114ed33d0b76c811db4a6437cb526
org.opencontainers.image.source https://gitea.alexlebens.dev/alexlebens/RayFlume
org.opencontainers.image.title RayFlume
org.opencontainers.image.url https://gitea.alexlebens.dev/alexlebens/RayFlume
org.opencontainers.image.version main
version 0.0.0
Details
Container
2025-12-25 05:04:59 +00:00
0
OCI / Docker
Versions (11) View all
0.0.9 2025-12-31
latest 2025-12-31
0.0.8 2025-12-29
0.0.7 2025-12-27
0.0.6 2025-12-27