Files
skins-image/Dockerfile
2026-01-05 16:19:06 +01:00

106 lines
3.1 KiB
Docker

FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu22.04
RUN apt-get update && apt-get install -y \
xvfb \
libgtk-3-0 \
libgtk-3-dev \
libgl1 \
unzip \
xz-utils \
wget \
autoconf \
pkg-config \
build-essential \
curl \
libpng-dev \
zip \
git \
git-lfs \
jq \
fonts-urw-base35 \
libfreetype6-dev \
libfontconfig1-dev \
ghostscript \
openssh-client \
fonts-noto-color-emoji \
fonts-dejavu-core \
libxml2 \
libxml2-dev \
webp \
&& fc-cache -f -v \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y \
vulkan-tools \
mesa-utils \
&& rm -rf /var/lib/apt/lists/*
ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH}
ENV __GLX_VENDOR_LIBRARY_NAME=nvidia
RUN curl -fsSL https://go.dev/dl/go1.24.1.linux-amd64.tar.gz -o /tmp/go.tar.gz && \
rm -rf /usr/local/go && \
tar -C /usr/local -xzf /tmp/go.tar.gz && \
ln -s /usr/local/go/bin/go /usr/local/bin/go && \
rm /tmp/go.tar.gz
RUN git clone --branch fix-screenshot-slider-ticks --single-branch https://github.com/Arlind-dev/danser-go.git /app/danser && \
cd /app/danser && \
go build -o danser-cli . && \
chmod +x /app/danser/danser-cli
RUN mkdir -p /app/danser/songs \
/app/danser/settings \
/app/danser/videos \
/app/danser/screenshots
RUN wget -qO- $(curl -s https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest \
| grep "browser_download_url.*linux64-gpl-shared.tar.xz" \
| cut -d '"' -f 4) -O /tmp/ffmpeg.tar.xz && \
tar -xvf /tmp/ffmpeg.tar.xz -C /tmp && \
mv /tmp/ffmpeg-*/bin/* /usr/local/bin/ && \
mv /tmp/ffmpeg-*/lib/* /usr/local/lib/ && \
mv /tmp/ffmpeg-*/include/* /usr/local/include/ && \
mkdir -p /app/danser/ffmpeg && \
cp /usr/local/bin/ffmpeg /app/danser/ffmpeg/ && \
cp /usr/local/bin/ffprobe /app/danser/ffmpeg/ || true && \
cp /usr/local/bin/ffplay /app/danser/ffmpeg/ || true && \
ldconfig
RUN IMAGICK_URL=$(curl -s https://api.github.com/repos/ImageMagick/ImageMagick/releases/latest \
| jq -r '.tarball_url') && \
wget -qO- "$IMAGICK_URL" | tar xz && \
cd ImageMagick-* && \
./configure --prefix=/usr/local \
--with-bzlib=yes \
--with-fontconfig=yes \
--with-freetype=yes \
--with-gslib=yes \
--with-gvc=yes \
--with-jpeg=yes \
--with-jp2=yes \
--with-png=yes \
--with-tiff=yes \
--with-xml=yes \
--with-gs-font-dir=yes && \
make -j$(nproc) && \
make install && \
ldconfig /usr/local/lib/ && \
cd / && rm -rf ImageMagick-*
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
&& apt-get install -y nodejs \
&& npm install -g npm@latest \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /app/danser/custom-replays/ \
/app/danser/skins/default-skin/
COPY src/maps/* /app/danser/songs/
COPY src/replays/* /app/danser/custom-replays/
COPY src/settings/* /app/danser/settings/
COPY src/default-skin/ /app/danser/skins/default-skin/
WORKDIR /app/danser