mapletree/lxc2/mediaservices/stash/dockerfile.stash
2026-01-29 13:37:11 -07:00

52 lines
2 KiB
Text
Executable file

FROM debian:bookworm
# Install base system dependencies
RUN apt-get update && \
apt-get install -y wget curl gnupg ca-certificates bash unzip build-essential \
fonts-liberation libglib2.0-0 libnspr4 libnss3 libx11-6 libxkbcommon0 \
libatk1.0-0 libgbm1 libasound2 libpangocairo-1.0-0 ffmpeg zlib1g-dev \
libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev && \
\
# Install Node.js 18.x (LTS)
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs && \
\
# 🧩 Install Google Chrome (with proper keyring)
mkdir -p /usr/share/keyrings && \
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub \
| gpg --dearmor -o /usr/share/keyrings/google-linux-signing-keyring.gpg && \
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-linux-signing-keyring.gpg] \
http://dl.google.com/linux/chrome/deb/ stable main" \
> /etc/apt/sources.list.d/google-chrome.list && \
apt-get update && \
apt-get install -y google-chrome-stable && \
\
# --- Build & install Python 3.12 from source ---
cd /tmp && \
wget https://www.python.org/ftp/python/3.12.7/Python-3.12.7.tgz && \
tar -xzf Python-3.12.7.tgz && \
cd Python-3.12.7 && \
./configure --enable-optimizations && \
make -j"$(nproc)" && make altinstall && \
ln -sf /usr/local/bin/python3.12 /usr/bin/python3 && \
\
# Install pip & Python packages
curl -sS https://bootstrap.pypa.io/get-pip.py | python3 && \
pip3 install --no-cache-dir requests beautifulsoup4 lxml && \
\
# Clean up build files
cd / && rm -rf /tmp/Python-3.12.7* && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# --- Install StashApp ---
WORKDIR /opt
RUN wget https://github.com/stashapp/stash/releases/latest/download/stash-linux -O stash && \
chmod +x stash && \
ln -s /opt/stash /usr/local/bin/stash
# Default working directory
WORKDIR /root
# Default command (no browser)
CMD ["stash", "--nobrowser"]