mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-03-30 13:35:42 +00:00
fix: config.json lives in /app/data/ volume, not baked into image
- entrypoint copies example config to /app/data/config.json on first run - symlinks /app/config.json → /app/data/config.json so app code unchanged - theme.json also symlinked from /app/data/ if present - config persists across container rebuilds without extra bind mounts - updated README with new config/theme instructions
This commit is contained in:
19
README.md
19
README.md
@@ -120,11 +120,26 @@ docker run -d \
|
||||
-p 3000:3000 \
|
||||
-p 1883:1883 \
|
||||
-v meshcore-data:/app/data \
|
||||
-v $(pwd)/config.json:/app/config.json \
|
||||
meshcore-analyzer
|
||||
```
|
||||
|
||||
**Persist your database** across container rebuilds by using a named volume (`meshcore-data`) or bind mount (`-v ./data:/app/data`).
|
||||
Config lives in the data volume at `/app/data/config.json` — a default is created on first run. To edit it:
|
||||
```bash
|
||||
docker exec -it meshcore-analyzer vi /app/data/config.json
|
||||
```
|
||||
|
||||
Or use a bind mount for the data directory:
|
||||
```bash
|
||||
docker run -d \
|
||||
--name meshcore-analyzer \
|
||||
-p 3000:3000 \
|
||||
-p 1883:1883 \
|
||||
-v ./data:/app/data \
|
||||
meshcore-analyzer
|
||||
# Now edit ./data/config.json directly on the host
|
||||
```
|
||||
|
||||
**Theme customization:** Drop a `theme.json` in the same data directory (`/app/data/theme.json`) to override default colors, branding, and node/packet type colors for all users. Use the built-in customizer (Tools → Customize) to design your theme and download the file.
|
||||
|
||||
### Manual Install
|
||||
|
||||
|
||||
@@ -1,9 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copy example config if no config.json exists
|
||||
if [ ! -f /app/config.json ]; then
|
||||
echo "[entrypoint] No config.json found, copying from config.example.json"
|
||||
cp /app/config.example.json /app/config.json
|
||||
# Copy example config if no config.json exists (check volume mount first)
|
||||
if [ ! -f /app/data/config.json ]; then
|
||||
echo "[entrypoint] No config.json found in /app/data/, copying example"
|
||||
cp /app/config.example.json /app/data/config.json
|
||||
fi
|
||||
|
||||
# Symlink so the app finds it at /app/config.json
|
||||
ln -sf /app/data/config.json /app/config.json
|
||||
|
||||
# Same for theme.json (optional)
|
||||
if [ -f /app/data/theme.json ]; then
|
||||
ln -sf /app/data/theme.json /app/theme.json
|
||||
fi
|
||||
|
||||
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
Reference in New Issue
Block a user