A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd
at master 77 lines 1.3 kB view raw
1FROM rust:1.88-bookworm AS builder 2 3ARG GITHUB_TOKEN 4 5ARG TAG 6 7ENV GITHUB_ACCESS_TOKEN=${GITHUB_TOKEN} 8 9ENV GH_TOKEN=${GITHUB_TOKEN} 10 11ENV TAG=${TAG} 12 13RUN apt-get update && apt-get install -y build-essential \ 14 libsdl2-dev \ 15 libfreetype6-dev \ 16 libunwind-dev \ 17 curl \ 18 wget \ 19 zip \ 20 unzip \ 21 protobuf-compiler \ 22 cmake 23 24RUN curl -Ssf https://pkgx.sh | sh 25 26RUN pkgm install zig@0.15.1 buf deno 27 28COPY . /app 29 30WORKDIR /app 31 32RUN mkdir -p build 33 34WORKDIR /app/webui/rockbox 35 36RUN deno install 37 38RUN deno run build 39 40WORKDIR /app/build-lib 41 42RUN ../tools/configure --target=sdlapp --type=N --lcdwidth=320 --lcdheight=240 --prefix=/usr/local && cp ../autoconf/autoconf.h . 43 44RUN make ziginstall -j$(nproc) 45 46RUN deno install -A -r -g https://cli.fluentci.io -n fluentci 47 48ENV PATH=/root/.local/bin:${PATH} 49 50WORKDIR /app 51 52RUN [ -n "$TAG" ] && fluentci run --wasm . release ; exit 0 53 54FROM debian:bookworm 55 56RUN apt-get update && apt-get install -y \ 57 libsdl2-dev \ 58 libfreetype6-dev \ 59 libunwind-dev \ 60 alsa-utils \ 61 libasound2 \ 62 pulseaudio 63 64COPY --from=builder /usr/local/lib/rockbox /usr/local/lib/rockbox 65 66COPY --from=builder /usr/local/share/rockbox /usr/local/share/rockbox 67 68COPY --from=builder /usr/local/bin/rockboxd /usr/local/bin/rockboxd 69 70ENV SDL_VIDEODRIVER=dummy 71 72EXPOSE 6061 73EXPOSE 6062 74EXPOSE 6063 75EXPOSE 6600 76 77CMD ["rockboxd"]