FROM python:3.12-slim WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends openssh-client gosu && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY app.py . COPY templates/ templates/ COPY entrypoint.sh /entrypoint.sh RUN mkdir -p /app/ssh /app/config && chmod 700 /app/ssh RUN useradd -m -s /bin/bash dashboard && chown -R dashboard:dashboard /app RUN chmod +x /entrypoint.sh ENV PYTHONUNBUFFERED=1 REFRESH_INTERVAL=60 SSH_TIMEOUT=10 SSH_KEY_PATH=/app/ssh/id_ed25519 EXPOSE 5000 ENTRYPOINT ["/entrypoint.sh"]