mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
compile to bytecode so cpython doesn't have to keep it in memory ram usage reduced by: * min: 5.4 MiB (32.6 to 27.2) * ac/im: 5.2 MiB (39.0 to 33.8) * dj/iv: 10.6 MiB (67.3 to 56.7) startup time reduced from: * min: 1.3s to 0.6s * ac/im: 1.6s to 0.9s * dj/iv: 2.0s to 1.1s image size increased by 4 MiB (min), 6 MiB (ac/im/iv), 9 MiB (dj) ram usage measured on idle with: while true; do ps aux | grep -E 'R[S]S|no[-]crt'; read -n1; echo; done startup time measured with: time podman run --rm -it localhost/copyparty-min-amd64 --exit=idx
38 lines
1.5 KiB
Docker
38 lines
1.5 KiB
Docker
FROM alpine:latest
|
|
WORKDIR /z
|
|
LABEL org.opencontainers.image.url="https://github.com/9001/copyparty" \
|
|
org.opencontainers.image.source="https://github.com/9001/copyparty/tree/hovudstraum/scripts/docker" \
|
|
org.opencontainers.image.licenses="MIT" \
|
|
org.opencontainers.image.title="copyparty-dj" \
|
|
org.opencontainers.image.description="copyparty with all optional dependencies, including musical key / bpm detection"
|
|
ENV XDG_CONFIG_HOME=/cfg
|
|
|
|
COPY i/bin/mtag/install-deps.sh ./
|
|
COPY i/bin/mtag/audio-bpm.py /mtag/
|
|
COPY i/bin/mtag/audio-key.py /mtag/
|
|
RUN apk add -U !pyc \
|
|
wget \
|
|
py3-jinja2 py3-argon2-cffi py3-pillow py3-pip py3-cffi \
|
|
ffmpeg \
|
|
vips-jxl vips-heif vips-poppler vips-magick \
|
|
py3-numpy fftw libsndfile \
|
|
vamp-sdk vamp-sdk-libs \
|
|
&& apk add -t .bd \
|
|
bash wget gcc g++ make cmake patchelf \
|
|
python3-dev ffmpeg-dev fftw-dev libsndfile-dev \
|
|
py3-wheel py3-numpy-dev \
|
|
vamp-sdk-dev \
|
|
&& rm -f /usr/lib/python3*/EXTERNALLY-MANAGED \
|
|
&& python3 -m pip install pyvips \
|
|
&& bash install-deps.sh \
|
|
&& apk del py3-pip .bd \
|
|
&& chmod 777 /root \
|
|
&& ln -s /root/vamp /root/.local /
|
|
|
|
COPY i/dist/copyparty-sfx.py innvikler.sh ./
|
|
RUN ash innvikler.sh && rm innvikler.sh
|
|
|
|
WORKDIR /w
|
|
EXPOSE 3923
|
|
ENTRYPOINT ["python3", "-m", "copyparty", "--no-crt", "-c", "/z/initcfg"]
|