A modern, network-enabled music player platform built on Rockbox technology.
rockboxd.tsiry-sandratraina.com
rust
deno
navidrome
airplay
libadwaita
zig
mpris
snapcast
mpd
rockbox
audio
subsonic
1FROM rust:1.95-trixie AS builder
2
3ARG TARGETARCH
4
5# Runtime deps for cpal (ALSA) and other libs
6RUN apt-get update && apt-get install -y \
7 build-essential \
8 libunwind-dev \
9 libasound2-dev \
10 libdbus-1-dev \
11 protobuf-compiler \
12 curl \
13 wget \
14 zip \
15 unzip \
16 cmake
17
18# Install Zig 0.16.0
19RUN case "${TARGETARCH}" in \
20 amd64) ZIG_ARCH="x86_64" ;; \
21 arm64) ZIG_ARCH="aarch64" ;; \
22 *) echo "Unsupported arch: ${TARGETARCH}" && exit 1 ;; \
23 esac && \
24 export VERSION=0.16.0 && \
25 wget "https://ziglang.org/download/${VERSION}/zig-${ZIG_ARCH}-linux-${VERSION}.tar.xz" && \
26 tar -xf "zig-${ZIG_ARCH}-linux-${VERSION}.tar.xz" && \
27 mv "zig-${ZIG_ARCH}-linux-${VERSION}" /usr/local/zig && \
28 ln -s /usr/local/zig/zig /usr/local/bin/zig
29
30COPY . /app
31WORKDIR /app
32
33# Build the C firmware library only — run cargo + zig builds interactively
34WORKDIR /app/build-lib
35RUN make lib -j$(nproc)