mse-ai-api / Dockerfile
ArtSpace
Add README with Space metadata
84b267e
Raw
History Blame Contribute Delete
1.53 kB
FROM python:3.10-slim
WORKDIR /app
RUN apt-get update && apt-get install -y \
wget \
gnupg \
tor \
libnss3 \
libnspr4 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libdrm2 \
libxkbcommon0 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxrandr2 \
libgbm1 \
libpango-1.0-0 \
libcairo2 \
libasound2 \
&& rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
RUN mkdir -p /etc/apt/keyrings \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor -o /etc/apt/keyrings/google-chrome.gpg \
&& echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.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 \
&& rm -rf /var/lib/apt/lists/*
RUN playwright install chromium
COPY . .
# Create Tor configuration
RUN mkdir -p /etc/tor/torrc.d
RUN echo "ControlPort 9051" >> /etc/tor/torrc && \
echo "CookieAuthentication 0" >> /etc/tor/torrc && \
echo "SOCKSPort 9050" >> /etc/tor/torrc
# Create startup script
RUN printf '#!/bin/bash\n\
# Start Tor in background\n\
echo "[STARTUP] Starting Tor..."\n\
tor --RunAsDaemon 1\n\
sleep 3\n\
echo "[STARTUP] Tor started, starting MSE API..."\n\
# Start the Python application\n\
python main.py\n' > /app/start.sh && chmod +x /app/start.sh
EXPOSE 7777
CMD ["/app/start.sh"]