Files
oikos/Dockerfile
T
ulsklyc fe7af1775a fix: Entrypoint-Script für robuste /data-Permissions (SQLITE_CANTOPEN)
chown im Dockerfile reicht nicht: Docker überschreibt beim Mounten eines
named Volume die Image-Permissions. Entrypoint-Script (läuft als root)
korrigiert /data-Ownership zur Laufzeit und startet dann via su-exec
als unprivilegierten node-User (korrekte Signal-Weiterleitung).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 09:02:44 +01:00

32 lines
636 B
Docker

FROM node:20-slim
# SQLCipher-Abhängigkeiten
RUN apt-get update && apt-get install -y \
python3 \
make \
g++ \
libsqlcipher-dev \
su-exec \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Abhängigkeiten zuerst (Docker-Layer-Caching)
COPY package*.json ./
RUN npm ci --omit=dev
# Anwendungscode
COPY . .
# Daten-Volume-Verzeichnis anlegen (Permissions werden zur Laufzeit gesetzt)
RUN mkdir -p /data
# Entrypoint: korrigiert /data-Permissions und startet als node-User
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 3000
ENTRYPOINT ["/entrypoint.sh"]
CMD ["node", "server/index.js"]