# MCLogger Web Panel FROM python:3.11-slim WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends curl \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 5000 # ── Runtime-Umgebungsvariablen (werden von Coolify überschrieben) ────────────── # Flask ENV PYTHONUNBUFFERED=1 ENV FLASK_APP=app.py ENV SECRET_KEY="" ENV HOST="0.0.0.0" ENV PORT="5000" ENV DEBUG="false" # Panel-Datenbank (Benutzer / Gruppen) ENV PANEL_DB_HOST="" ENV PANEL_DB_PORT="3306" ENV PANEL_DB_USER="" ENV PANEL_DB_PASSWORD="" ENV PANEL_DB_NAME="mclogger_panel" # Credentials-Datenbank (verschlüsselte MC-DB-Zugangsdaten) ENV CREDS_DB_HOST="" ENV CREDS_DB_PORT="3306" ENV CREDS_DB_USER="" ENV CREDS_DB_PASSWORD="" ENV CREDS_DB_NAME="mclogger_creds" # Sicherheit ENV FERNET_KEY="" ENV PASSWORD_PEPPER="" # Non-root user RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app USER appuser CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "2", "--timeout", "60", "app:app"]