Files
twitch-miner-docker/Dockerfile
T
2026-08-30 21:56:28 +02:00

46 lines
1.2 KiB
Docker

# Python 3.14 base & pip installation
FROM python:3.14 AS base
WORKDIR /app
RUN apt-get update && apt-get install -y \
libgirepository1.0-dev \
libcairo2-dev \
pkg-config \
python3-dev \
gtk+3.0 \
dbus-x11 \
x11vnc \
xvfb \
fluxbox \
net-tools \
libappindicator3-dev \
libayatana-appindicator3-dev \
x11-utils
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
# Create the final image
FROM base
WORKDIR /app
# Copy the rest of the project files
COPY . .
# Start Xvfb, Fluxbox, and x11vnc, then run the application
CMD rm -f /tmp/.X1-lock && \
Xvfb :1 -screen 0 1280x720x16 & \
fluxbox & \
# Wait for the X server to be up
while ! xdpyinfo -display :1 > /dev/null 2>&1; do \
echo "Waiting for X server to be available..."; \
sleep 1; \
done && \
echo "X server is running" || (echo "X server failed to start, exiting..." && exit 1); \
# Start x11vnc with additional logging
x11vnc -display :1 -nopw -listen 0.0.0.0 -forever -xkb -no6 -noxdamage -o /var/log/x11vnc.log & \
# Explicitly set the DISPLAY variable for the Python application
export DISPLAY=:1 && python main.py 2>&1 | tee /var/log/main.log