30 lines
1.4 KiB
JavaScript
30 lines
1.4 KiB
JavaScript
const path = require('path');
|
|
|
|
function createWebConfig() {
|
|
const mediaDir = path.join(__dirname, '..', '..', '..', 'media');
|
|
const uploadsDir = path.join(mediaDir, 'uploads');
|
|
const thumbnailsDir = path.join(mediaDir, 'thumbnails');
|
|
const assetDir = path.join(__dirname, '..', 'public');
|
|
const playerInternalBaseUrl = (process.env.PLAYER_INTERNAL_BASE_URL || process.env.PLAYER_BASE_URL || 'http://player:8081').replace(/\/$/, '');
|
|
const playerPublicBaseUrl = (process.env.PLAYER_PUBLIC_BASE_URL || process.env.PLAYER_BASE_URL || 'http://localhost:8081').replace(/\/$/, '');
|
|
const sessionCookieName = 'digital_signage_session';
|
|
const sessionMaxAgeDays = Number(process.env.SESSION_MAX_AGE_DAYS || 14);
|
|
const sessionMaxAgeMs = (Number.isFinite(sessionMaxAgeDays) && sessionMaxAgeDays > 0 ? sessionMaxAgeDays : 14) * 24 * 60 * 60 * 1000;
|
|
const port = Number(process.env.WEB_PORT || 8080);
|
|
const dataSourceStartupRefreshStaggerMs = Math.max(100, Number(process.env.DATA_SOURCE_STARTUP_REFRESH_STAGGER_MS || 250));
|
|
|
|
return {
|
|
port: port,
|
|
mediaDir: mediaDir,
|
|
uploadsDir: uploadsDir,
|
|
thumbnailsDir: thumbnailsDir,
|
|
assetDir: assetDir,
|
|
playerInternalBaseUrl: playerInternalBaseUrl,
|
|
playerPublicBaseUrl: playerPublicBaseUrl,
|
|
sessionCookieName: sessionCookieName,
|
|
sessionMaxAgeMs: sessionMaxAgeMs,
|
|
dataSourceStartupRefreshStaggerMs: dataSourceStartupRefreshStaggerMs
|
|
};
|
|
}
|
|
|
|
module.exports = { createWebConfig }; |