diff --git a/server/install_server.sh b/server/install_server.sh index 60dde975..22e547c4 100755 --- a/server/install_server.sh +++ b/server/install_server.sh @@ -8,7 +8,7 @@ MEDIAMTX_CONF_DIR="/etc/mediamtx" MEDIAMTX_CONFIG="$MEDIAMTX_CONF_DIR/mediamtx.yml" MEDIAMTX_SERVICE="/etc/systemd/system/mediamtx.service" MULTIROVER_SERVICE="/etc/systemd/system/multirover.service" -SNAPSHOT_DIR="$SERVER_DIR/data/rover-snapshots" +SNAPSHOT_DIR="/var/lib/rover-snapshots" REPLAY_SEGMENT_DIR="/var/lib/replay-segments" if [[ $EUID -ne 0 ]]; then @@ -90,6 +90,7 @@ Wants=network-online.target User=$TARGET_USER Group=$TARGET_USER WorkingDirectory=$MEDIAMTX_CONF_DIR +Environment=ROVER_SNAPSHOT_DIR=$SNAPSHOT_DIR ExecStart=$MEDIAMTX_BIN $MEDIAMTX_CONFIG Restart=on-failure RestartSec=2 @@ -110,6 +111,7 @@ Group=$TARGET_USER WorkingDirectory=$SERVER_DIR Environment=NODE_ENV=production Environment=SERVER_CONFIG=$CONFIG_PATH +Environment=ROVER_SNAPSHOT_DIR=$SNAPSHOT_DIR Environment=REPLAY_SEGMENT_DIR=$REPLAY_SEGMENT_DIR ExecStart=$NODE_BIN $SERVER_DIR/index.js Restart=on-failure diff --git a/server/src/services/healthService/index.js b/server/src/services/healthService/index.js index 7a031023..2bfb1820 100644 --- a/server/src/services/healthService/index.js +++ b/server/src/services/healthService/index.js @@ -8,7 +8,7 @@ const { getRoomCameras } = require('../roomCameraService'); const { getRoomCameraState } = require('../roomCameraService'); const { getReplayHealthSnapshot } = require('../replayEngineV2'); -const SNAPSHOT_DIR = path.resolve(__dirname, '..', '..', '..', 'data', 'rover-snapshots'); +const ROVER_SNAPSHOT_DIR = process.env.ROVER_SNAPSHOT_DIR || '/var/lib/rover-snapshots'; const HEALTH_INTERVAL_MS = 5000; const ROOM_CAMERA_STALE_MS = 5000; const ROVER_SNAPSHOT_STALE_MS = 5000; @@ -30,7 +30,7 @@ async function collectSnapshotHealth(now) { })); const roverSnapshots = []; for (const rover of rovers) { - const filePath = path.join(SNAPSHOT_DIR, `${rover.id}.jpg`); + const filePath = path.join(ROVER_SNAPSHOT_DIR, `${rover.id}.jpg`); let exists = false; let size = 0; let updatedAt = null; diff --git a/server/src/services/roverSnapshotService/poller.js b/server/src/services/roverSnapshotService/poller.js index 7b91a9ac..6e7ce192 100644 --- a/server/src/services/roverSnapshotService/poller.js +++ b/server/src/services/roverSnapshotService/poller.js @@ -6,7 +6,7 @@ const fs = require('fs/promises'); const path = require('path'); const logger = require('../../globals/logger').child('roverSnapshot'); -const SNAPSHOT_DIR = path.resolve(__dirname, '..', '..', '..', 'data', 'rover-snapshots'); +const SNAPSHOT_DIR = process.env.ROVER_SNAPSHOT_DIR || '/var/lib/rover-snapshots'; const POLL_INTERVAL_MS = 300; const roverState = new Map(); const events = new EventEmitter();