Fix update for Docker: show commands instead of one-click install

- Detect Docker environment (/.dockerenv) on server
- Version check returns is_docker flag
- Docker: show terminal commands for docker pull/restart
- Git installs: keep one-click update button
- Data safety hint shown in both modes
This commit is contained in:
Maurice
2026-03-23 19:17:59 +01:00
parent 4d3ee08481
commit 5f2bd51824
4 changed files with 111 additions and 55 deletions

View File

@@ -156,6 +156,14 @@ router.post('/save-demo-baseline', (req, res) => {
// ── Version check ──────────────────────────────────────────
// Detect if running inside Docker
const isDocker = (() => {
try {
const fs = require('fs');
return fs.existsSync('/.dockerenv') || (fs.existsSync('/proc/1/cgroup') && fs.readFileSync('/proc/1/cgroup', 'utf8').includes('docker'));
} catch { return false }
})();
router.get('/version-check', async (req, res) => {
const { version: currentVersion } = require('../../package.json');
try {
@@ -167,9 +175,9 @@ router.get('/version-check', async (req, res) => {
const data = await resp.json();
const latest = (data.tag_name || '').replace(/^v/, '');
const update_available = latest && latest !== currentVersion && compareVersions(latest, currentVersion) > 0;
res.json({ current: currentVersion, latest, update_available, release_url: data.html_url || '' });
res.json({ current: currentVersion, latest, update_available, release_url: data.html_url || '', is_docker: isDocker });
} catch {
res.json({ current: currentVersion, latest: currentVersion, update_available: false });
res.json({ current: currentVersion, latest: currentVersion, update_available: false, is_docker: isDocker });
}
});