# Use official Python image FROM python:3.11-slim # Set working directory WORKDIR /app # Install dependencies RUN apt-get update && apt-get install -y \ gcc \ python3-dev \ && rm -rf /var/lib/apt/lists/* # Copy requirements first to leverage Docker cache COPY requirements.txt . # Install Python dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy the rest of the application COPY . . # Create a non-root user RUN useradd -m bot # Create directories for persistent storage and modify permissions RUN mkdir -p logs && \ chown -R bot:bot logs && \ chmod -R 755 logs \ mkdir -p embed && \ chown -R bot:bot embed && \ chmod -R 755 embed \ # Switch to non root user USER bot # Set environment variables for configuration ENV PYTHONUNBUFFERED=1 ENV CONFIG_PATH=/app/config.ini # Command to run the bot CMD ["sh", "-c", "python generate_config.py && python pterodisbot.py"]