update
This commit is contained in:
@@ -35,7 +35,7 @@ COPY --chown=app:app templates/ /app/templates/
|
||||
COPY --chown=app:app --from=frontend /build/dist /app/frontend/dist
|
||||
COPY --chown=app:app dev-ops/opencode.json /home/app/.config/opencode/opencode.json
|
||||
|
||||
RUN mkdir -p /app/storage /app/topics && chown -R app:app /app
|
||||
RUN mkdir -p /app/storage /app/topics /home/app/.claude && chown -R app:app /app
|
||||
|
||||
USER app
|
||||
# Embedding-Modell ins Image backen — sonst lädt jeder Container-Neustart
|
||||
@@ -43,6 +43,13 @@ USER app
|
||||
RUN python3 -c "from sentence_transformers import SentenceTransformer; \
|
||||
SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2')"
|
||||
|
||||
# Start als root: das Entrypoint nimmt sich die gemounteten Datenverzeichnisse
|
||||
# (Bind-Mounts tragen Host-Ownership!) und droppt dann auf den App-User.
|
||||
USER root
|
||||
COPY dev-ops/entrypoint.sh /entrypoint.sh
|
||||
RUN chmod +x /entrypoint.sh
|
||||
|
||||
WORKDIR /app/backend
|
||||
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
|
||||
9
dev-ops/entrypoint.sh
Normal file
9
dev-ops/entrypoint.sh
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Selbstheilender Start (Muster der offiziellen Images, z. B. postgres):
|
||||
# Bind-Mounts übernehmen die Host-Ownership — der Container richtet seine
|
||||
# Datenverzeichnisse deshalb SELBST ein und droppt erst dann auf den App-User.
|
||||
# Kein chown auf dem Host, kein Betriebs-Handgriff nötig.
|
||||
set -e
|
||||
chown -R app:app /app/storage /app/topics /home/app/.claude 2>/dev/null || true
|
||||
export HOME=/home/app
|
||||
exec setpriv --reuid app --regid app --init-groups "$@"
|
||||
Reference in New Issue
Block a user