feat: storage path in Settings UI, deploy creates directory
This commit is contained in:
parent
be801e9d27
commit
dc236e561d
2 changed files with 7 additions and 2 deletions
|
|
@ -145,10 +145,10 @@ if $GREENFIELD; then
|
||||||
# Build config.json from sample with sensible defaults.
|
# Build config.json from sample with sensible defaults.
|
||||||
cp config.json.sample "${CONFIG_FILE}"
|
cp config.json.sample "${CONFIG_FILE}"
|
||||||
STORAGE_PATH=$(jq -r .storage.recordings_path "${CONFIG_FILE}")
|
STORAGE_PATH=$(jq -r .storage.recordings_path "${CONFIG_FILE}")
|
||||||
sudo mkdir -p "${STORAGE_PATH}" 2>/dev/null || true
|
sudo mkdir -p "${STORAGE_PATH}" 2>/dev/null || mkdir -p "${STORAGE_PATH}"
|
||||||
sudo chown "$(whoami):$(id -gn)" "${STORAGE_PATH}" 2>/dev/null || true
|
sudo chown "$(whoami):$(id -gn)" "${STORAGE_PATH}" 2>/dev/null || true
|
||||||
log "Config created: ${CONFIG_FILE}"
|
log "Config created: ${CONFIG_FILE}"
|
||||||
log "Storage: ${STORAGE_PATH} (change via web UI Settings)"
|
log "Storage: ${STORAGE_PATH}"
|
||||||
else
|
else
|
||||||
log "Config preserved: ${CONFIG_FILE}"
|
log "Config preserved: ${CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -263,6 +263,7 @@ async function renderCameraCards() {
|
||||||
container.innerHTML = `
|
container.innerHTML = `
|
||||||
<div class="camera-card" id="auth-card" style="grid-column:1/-1">
|
<div class="camera-card" id="auth-card" style="grid-column:1/-1">
|
||||||
<h3>🔐 Access Setup</h3>
|
<h3>🔐 Access Setup</h3>
|
||||||
|
<label style="margin-bottom:12px">Storage path <input type="text" id="storage-path" value="${escAttr(config?.storage?.recordings_path || '/mnt/recordings')}" style="width:100%"></label>
|
||||||
<div style="display:flex;gap:16px;flex-wrap:wrap;margin-top:8px">
|
<div style="display:flex;gap:16px;flex-wrap:wrap;margin-top:8px">
|
||||||
<div style="flex:1;min-width:200px">
|
<div style="flex:1;min-width:200px">
|
||||||
<h4 style="font-size:13px;color:var(--accent);margin-bottom:6px">Port 8080 — Admin</h4>
|
<h4 style="font-size:13px;color:var(--accent);margin-bottom:6px">Port 8080 — Admin</h4>
|
||||||
|
|
@ -433,6 +434,10 @@ document.getElementById('btn-save').addEventListener('click', async () => {
|
||||||
cfg.auth.viewer.username = viewerUser;
|
cfg.auth.viewer.username = viewerUser;
|
||||||
cfg.auth.viewer.enabled = viewerEnabled || false;
|
cfg.auth.viewer.enabled = viewerEnabled || false;
|
||||||
cfg.server.viewer_port = viewerEnabled ? ":8090" : "";
|
cfg.server.viewer_port = viewerEnabled ? ":8090" : "";
|
||||||
|
|
||||||
|
// Storage path from settings field.
|
||||||
|
const storagePath = document.getElementById('storage-path')?.value;
|
||||||
|
if (storagePath) cfg.storage.recordings_path = storagePath;
|
||||||
if (masterPass) { cfg.auth.master.password = masterPass; cfg.auth.master.enabled = true; }
|
if (masterPass) { cfg.auth.master.password = masterPass; cfg.auth.master.enabled = true; }
|
||||||
if (viewerPass) { cfg.auth.viewer.password = viewerPass; }
|
if (viewerPass) { cfg.auth.viewer.password = viewerPass; }
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue