xuserbot / Dockerfile
xfasfadgagsg's picture
Update Dockerfile
ce46f0a verified
FROM python:3.11-slim
ENV TZ=Asia/Kolkata
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Install required system packages
RUN apt-get update && apt-get install -y --no-install-recommends \
gdb \
git \
gcc \
python3-dev \
ffmpeg \
mediainfo \
neofetch \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Create a non-root user
RUN useradd -m user
# Set working directory
WORKDIR /app
# Copy project files
COPY . .
# Avoid pip install as root errors
ENV PIP_ROOT_USER_ACTION=ignore
# Add pip user scripts to PATH
ENV PATH="/home/user/.local/bin:$PATH"
# Upgrade pip and install all Python dependencies from your requirements.txt
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt
# Optional: Run your installer script if any
RUN bash installer.sh || true
# Fix Git warning about safe.directory
RUN git config --global --add safe.directory /app
# Ensure required directories exist with correct permissions
RUN mkdir -p /app/sessions /app/resources/auth /app/tmp /app/pdf /app/addons && \
chmod -R 777 /app/sessions /app/resources /app/tmp /app/pdf /app/addons && \
chown -R user:user /app
# Fix relative imports (make packages)
RUN touch /app/__init__.py /app/addons/__init__.py /app/pyUltroid/__init__.py
# Set Python path
ENV PYTHONPATH="${PYTHONPATH}:/app"
# Switch to non-root user
USER user
# Start the bot
CMD bash startup & python3 server.py