fix(persistence): Robustes /data Volume für SQLite data.db & WAL-Dateien
All checks were successful
Build and Deploy / build (push) Successful in 1m11s

This commit is contained in:
DanielS
2026-09-22 23:18:39 +02:00
parent 8fb76690fe
commit 7f1e17db2b
3 changed files with 12 additions and 2 deletions

1
.gitignore vendored
View File

@@ -2,5 +2,6 @@ node_modules/
data.db data.db
data.db-wal data.db-wal
data.db-shm data.db-shm
data/
.env .env
.DS_Store .DS_Store

9
db.js
View File

@@ -3,9 +3,16 @@ const path = require('path');
const Database = require('better-sqlite3'); const Database = require('better-sqlite3');
const bcrypt = require('bcryptjs'); const bcrypt = require('bcryptjs');
const dbPath = path.join(__dirname, 'data.db'); // Verzeichnis für Persistenz sicherstellen (/data im Docker Container oder local dir)
const dataDir = process.env.DATA_DIR || (fs.existsSync('/data') ? '/data' : __dirname);
if (!fs.existsSync(dataDir)) {
fs.mkdirSync(dataDir, { recursive: true });
}
const dbPath = path.join(dataDir, 'data.db');
const db = new Database(dbPath); const db = new Database(dbPath);
// Standard Journal Mode
db.pragma('journal_mode = WAL'); db.pragma('journal_mode = WAL');
// Tabellen anlegen // Tabellen anlegen

View File

@@ -6,5 +6,7 @@ services:
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8085:80" - "8085:80"
environment:
- DATA_DIR=/data
volumes: volumes:
- ./data.db:/app/data.db - ./data:/data