# Optimized Dockerfile for ARM architectures (Raspberry Pi) # Uses alternative packages where possible to avoid compilation FROM python:3.13-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ TZ=Europe/Berlin # Install minimal runtime dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ tzdata \ && rm -rf /var/lib/apt/lists/* \ && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ && echo $TZ > /etc/timezone # Set working directory WORKDIR /app # Copy dependency files COPY requirements-arm.txt ./requirements.txt # Install Python dependencies # For ARM, we use simpler alternatives where possible RUN pip install --no-cache-dir -r requirements.txt # Copy application files COPY main.py . COPY Vektor-Logo.svg ./ # Create static directory and copy logo RUN mkdir -p static && \ cp Vektor-Logo.svg static/logo.svg # Expose port EXPOSE 8000 # Run the application with a simpler ASGI server for ARM CMD ["python", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--loop", "asyncio"]