fix: DATA_DIR env var pour chemins logos/icons (dev vs Docker)

This commit is contained in:
2026-06-13 21:44:47 +02:00
parent 53d51e0075
commit c987ef3f42
4 changed files with 11 additions and 3 deletions
+1
View File
@@ -11,6 +11,7 @@
# JWT_EXPIRES_IN=7d
# DB_PATH=./data/crowdlending.db
# UPLOAD_DIR=./uploads
# DATA_DIR=../data # chemin vers le dossier data/ (relatif au dossier backend/ ou absolu)
# --- Production (Docker) ---
NODE_ENV=production
+4 -1
View File
@@ -10,7 +10,10 @@ import { createZip, readZip } from '../utils/zip.js';
import { HttpError } from '../middleware/errorHandler.js';
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const logosDir = path.resolve(__dirname, '../../data/logos');
const dataDir = process.env.DATA_DIR
? path.resolve(process.env.DATA_DIR)
: path.resolve(__dirname, '../../../data'); // fallback dev : 3 niveaux au-dessus de routes/
const logosDir = path.join(dataDir, 'logos');
fs.mkdirSync(logosDir, { recursive: true });
// ── Traitement image (réutilisé depuis plateformes.js) ─────────────────────
+5 -2
View File
@@ -51,9 +51,12 @@ app.use(express.json({ limit: '5mb' }));
app.use(morgan('dev'));
// ── Logos plateformes — servis sans authentification ─────────────────────
const logosDir = path.resolve(__dirname, '../data/logos');
const _dataDir = process.env.DATA_DIR
? path.resolve(process.env.DATA_DIR)
: path.resolve(__dirname, '../../data'); // fallback dev : 2 niveaux au-dessus de src/
const logosDir = path.join(_dataDir, 'logos');
app.use('/api/logos', express.static(logosDir, { maxAge: '1d', fallthrough: false }));
const iconsDir2 = path.resolve(__dirname, '../data/icons');
const iconsDir2 = path.join(_dataDir, 'icons');
app.use('/api/icons-files', express.static(iconsDir2, { maxAge: '1h', fallthrough: false }));
// Basic rate-limit on auth endpoints
+1
View File
@@ -14,6 +14,7 @@ services:
PORT: 4000
DB_PATH: /app/data/crowdlending.db
UPLOAD_DIR: /app/uploads
DATA_DIR: /app/data
volumes:
- ../../volumes/crowdlending/data:/app/data
- ../../volumes/crowdlending/uploads:/app/uploads