52 lines
2 KiB
Text
Executable file
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"]
|
|
|