Ребренд Мониторинг Орбита -> Железный Егорин; accent green->amber #F59E0B; LoginScreen правая половина = Lightning (WebGL, hue 35 тёплый) под стеклянной формой; левая панель — тёплый градиент. Доступ агентам: репо публичный, push german-токеном. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.7 KiB
JavaScript
39 lines
1.7 KiB
JavaScript
// Конфигурация шлюза из окружения. Адаптер активен только если задан его источник;
|
|
// иначе раздел работает на демо-данных (fallback). Так шлюз поднимается сразу,
|
|
// а реальные источники «зажигаются» по мере готовности их стеков.
|
|
const env = process.env;
|
|
|
|
export const config = {
|
|
port: Number(env.PORT || 4100),
|
|
jwtSecret: env.JWT_SECRET || 'dev-secret-change-me',
|
|
dataDir: env.DATA_DIR || '/data', // персист арендаторов/привязок устройств
|
|
|
|
traccar: env.TRACCAR_URL
|
|
? { url: env.TRACCAR_URL, token: env.TRACCAR_TOKEN || '', user: env.TRACCAR_USER || '', pass: env.TRACCAR_PASS || '' }
|
|
: null,
|
|
|
|
mqtt: env.MQTT_URL
|
|
? { url: env.MQTT_URL, username: env.MQTT_USER || undefined, password: env.MQTT_PASS || undefined, prefix: env.MQTT_PREFIX || '/devices' }
|
|
: null,
|
|
|
|
influx: env.INFLUX_URL
|
|
? { url: env.INFLUX_URL, token: env.INFLUX_TOKEN || '', org: env.INFLUX_ORG || '', bucket: env.INFLUX_BUCKET || 'energy' }
|
|
: null,
|
|
|
|
// Яндекс ID (OAuth). Активен при YANDEX_CLIENT_ID. Регистрация: oauth.yandex.ru.
|
|
yandex: env.YANDEX_CLIENT_ID
|
|
? {
|
|
clientId: env.YANDEX_CLIENT_ID,
|
|
secret: env.YANDEX_CLIENT_SECRET || '',
|
|
redirect: env.YANDEX_REDIRECT || 'https://monitor.servaki.online/api/auth/yandex/callback',
|
|
admins: (env.YANDEX_ADMINS || '').split(',').map((s) => s.trim().toLowerCase()).filter(Boolean),
|
|
}
|
|
: null,
|
|
};
|
|
|
|
export const sources = {
|
|
traccar: !!config.traccar,
|
|
wirenboard: !!config.mqtt,
|
|
influx: !!config.influx,
|
|
};
|