- review_submission: Fotos ins gallery/-Verzeichnis statt breeds/ kopieren; foto_url der Rasse nur überschreiben wenn noch keins vorhanden (Erstbild) - Rassen-Detail-API: user_fotos (approved submissions) mitliefern - Rassen-Listen-API: user_foto-Subquery als Fallback wenn foto_url leer - achievements: neue Badge-Kategorie "Wiki-Fotos" (bronze 1, silber 3, gold 10) mit wiki_fotos-Metrik in check_and_award und my_achievements - Badge-Check + Push nach Foto-Approval - wiki.js: Karten-Bild nutzt r.foto_url || r.user_foto - wiki.js: Detail-Ansicht zeigt Community-Foto-Galerie (scrollbar, clickable) - Dockerfile: breeds/gallery + breeds/submissions im Image anlegen - SW by-v366, APP_VER 351
24 lines
607 B
Docker
24 lines
607 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# System-Dependencies
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
ffmpeg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Python-Dependencies zuerst (Docker Layer Cache)
|
|
COPY backend/requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# App-Code
|
|
COPY backend/ .
|
|
|
|
# Media-Verzeichnis
|
|
RUN mkdir -p /data/media/dogs /data/media/diary /data/media/poison \
|
|
/data/media/breeds/gallery /data/media/breeds/submissions
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--proxy-headers"]
|