Update README.md

This commit is contained in:
mudhorn 2025-08-25 11:44:42 -07:00
parent 778c2ba606
commit 9061928e47

View file

@ -28,7 +28,60 @@ sudo crontab -u <user> -e
# 6. Add logrotate rule
sudo tee /etc/logrotate.d/aredn-sync <<'EOF'
su drcit drcit
su <user> <group>
/<home path>/.local/logs/aredn.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 <user> <group>
}
EOF
```
Done ✅ — your mirror will now stay up to date automatically. Replace <user> <group> with actual user & group (usually drcit drcit) and any <paths> with the correct *absolute* path (e.g. "/**home/drcit**/.local/logs/aredn.log {")
---
## 🔧 How it works
1. **Sync**: runs `rsync` to mirror upstream firmware files into `$ROOT`.
2. **Patch**: replaces the default firmware URL in `afs/www/config.js` with your local mesh URL (`$NEW_URL`).
3. **Collect**: runs `afs/misc/collect.py` to regenerate JSON indexes.
4. **Log**: everything is written to `~/.local/logs/aredn.log`.
---
## ⚙️ Variables to Edit
At the top of `sync.sh`, adjust these for your environment:
```bash
ROOT="$HOME/<path to root folder>/aredn" # mirror root
AFS="$ROOT/afs" # firmware site files
LOG="$HOME/.local/logs/aredn.log" # log path
UPSTREAM="downloads.arednmesh.org::aredn_firmware" # rsync source
NEW_URL="http://n2drc-ls1.local.mesh/" # mesh URL to inject
```
Replace any <paths> with the correct path (e.g. "$HOME/**docker/fileserver/files**/aredn").
---
## 📅 Cron Job
To keep your mirror current, run the script daily:
```cron
0 0 * * * ~/aredn/sync.sh >> ~/.local/logs/aredn.log 2>&1
```
---
## 📂 Log Rotation
To prevent logs from growing indefinitely, add `/etc/logrotate.d/aredn-sync`:
```conf
su <user> <group>
/home/drcit/.local/logs/aredn.log {
daily
rotate 7
@ -36,6 +89,14 @@ su drcit drcit
delaycompress
missingok
notifempty
create 0640 drcit drcit
create 0640 <user> <group>
}
EOF
```
This rotates logs daily, keeps 7 days, and compresses older logs. Replace <user> <group> with the actual user & group (usually drcit drcit).
---
## 📜 License
This project is licensed under the [MIT License](LICENSE).
You are free to use, modify, and share this script. Attribution to **DRCIT** is appreciated.