Create Dockerfile
Browse files- Dockerfile +18 -0
Dockerfile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 1. On part de l'image officielle monolithique de DeepTutor
|
| 2 |
+
FROM ghcr.io/hkuds/deeptutor:latest
|
| 3 |
+
|
| 4 |
+
# 2. Sécurité Hugging Face : l'image officielle tourne en "root".
|
| 5 |
+
# Hugging Face impose un utilisateur non-privilégié (UID 1000). On ajuste les droits.
|
| 6 |
+
USER root
|
| 7 |
+
RUN chown -R 1000:1000 /app && chmod -R 777 /app
|
| 8 |
+
USER 1000
|
| 9 |
+
|
| 10 |
+
# 3. On configure la variable de port pour le backend
|
| 11 |
+
ENV BACKEND_PORT=7860
|
| 12 |
+
|
| 13 |
+
# 4. CRUCIAL : On réinitialise l'ENTRYPOINT de l'image officielle.
|
| 14 |
+
# L'image officielle est configurée pour lancer Supervisord (Front + Back). On désactive ce comportement.
|
| 15 |
+
ENTRYPOINT []
|
| 16 |
+
|
| 17 |
+
# 5. On lance uniquement la configuration de DeepTutor puis le serveur FastAPI sur le port 7860
|
| 18 |
+
CMD ["bash", "-c", "python -c \"from pathlib import Path; from deeptutor.services.setup import init_user_directories; init_user_directories(Path('/app'))\" && python -m uvicorn deeptutor.api.main:app --host 0.0.0.0 --port 7860"]
|