diff --git a/Dockerfile b/Dockerfile index 94c1c14..45fb688 100644 --- a/Dockerfile +++ b/Dockerfile @@ -56,6 +56,9 @@ WORKDIR /app # Install PM2 for process management RUN npm install -g pm2 +# In der Production Stage, füge diese Zeile hinzu: +ENV DB_PATH=/app/data/schichtplan.db + # Copy backend built files COPY --from=backend-builder /app/backend/package*.json ./ COPY --from=backend-builder /app/backend/dist/ ./dist/ diff --git a/backend/src/services/databaseService.ts b/backend/src/services/databaseService.ts index 14ff119..4d8931c 100644 --- a/backend/src/services/databaseService.ts +++ b/backend/src/services/databaseService.ts @@ -1,10 +1,18 @@ import sqlite3 from 'sqlite3'; import path from 'path'; import { fileURLToPath } from 'url'; +import fs from 'fs'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -const dbPath = path.join(__dirname, '../../database/schichtplan.db'); + +const dbPath = process.env.DB_PATH || '/app/data/schichtplan.db'; + +// Stelle sicher, dass das Verzeichnis existiert +const dbDir = path.dirname(dbPath); +if (!fs.existsSync(dbDir)) { + fs.mkdirSync(dbDir, { recursive: true }); +} class Database { private db: sqlite3.Database;