diff --git a/docker_compose/reaper-web/Dockerfile b/docker_compose/reaper-web/Dockerfile new file mode 100644 index 0000000..0c0d8fe --- /dev/null +++ b/docker_compose/reaper-web/Dockerfile @@ -0,0 +1,69 @@ +FROM lscr.io/linuxserver/baseimage-kasmvnc:ubuntunoble + +# Set REAPER version (can be updated via build-arg) +ARG REAPER_VERSION="773" + +# Title of the KasmVNC web tab +ENV TITLE="Reaper-Web" + +# Install dependencies for REAPER, Audio, and UI +RUN apt-get update && apt-get install -y \ + libgl1 \ + libgl1-mesa-dri \ + libasound2t64 \ + libgdk-pixbuf2.0-0 \ + libgtk-3-0 \ + libxml2 \ + libcurl4 \ + libxcb-cursor0 \ + libxcb-keysyms1 \ + libxcb-icccm4 \ + libxcb-render-util0 \ + libxcb-xinerama0 \ + pipewire-jack \ + pulseaudio-utils \ + pavucontrol \ + wget \ + xz-utils \ + python3-xdg \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Download and install REAPER +RUN wget https://www.reaper.fm/files/7.x/reaper${REAPER_VERSION}_linux_x86_64.tar.xz -O /tmp/reaper.tar.xz && \ + tar -xvf /tmp/reaper.tar.xz -C /tmp && \ + /tmp/reaper_linux_x86_64/install-reaper.sh \ + --install /opt \ + --integrate-user-desktop && \ + rm -rf /tmp/reaper* + +# Environment variables for low-latency PipeWire/JACK +ENV PIPEWIRE_LATENCY="128/48000" +ENV LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack:$LD_LIBRARY_PATH" +ENV PULSE_RUNTIME_PATH="/config/.pulse" + +# Set up autostart for REAPER and high-quality KasmVNC wrapper +RUN mkdir -p /defaults && \ + sed -i 's/show_control_bar=true/show_control_bar=true\&preset=lossless/g' /kclient/public/index.html && \ + sed -i 's/http.listen(6900);/http.listen(6900, "0.0.0.0");/g' /kclient/index.js && \ + sed -i 's/