ARGUS (Automated Reconnaissance & Gathering for Unified Situational-awareness) is an OSINT intelligence gathering platform combining SearXNG with local LLM analysis for automated threat intelligence collection and processing.
**Architecture:**
- Search backend: SearXNG (self-hosted)
- Analysis: Local LLM models (no cloud APIs)
- Scopes: Local, regional, national, global threat levels
- Privacy-first: No PII collection, focus on events/trends/policies
**Why privileged:** Required for /dev/net/tun access (Tailscale). Attempted unprivileged initially but tailscaled failed with "CreateTUN failed; /dev/net/tun does not exist".
---
## Installed Software (Baseline)
- **Docker:** 29.5.3 + docker-compose plugin
- **Tailscale:** 1.98.4 (registered with Headscale at vpn.echo6.co)
**Registration:** `tailscale up --login-server=https://vpn.echo6.co --authkey=<key> --ssh --accept-routes`
**DNS Bootstrap Fix:**
Systemd drop-in at `/etc/systemd/system/tailscaled.service.d/dns-bootstrap.conf` ensures fallback DNS (1.1.1.1, 8.8.8.8) exists before tailscaled starts, preventing chicken-and-egg DNS resolution failures on reboot.
```bash
[Service]
# Ensure fallback DNS exists before tailscaled starts
# Prevents chicken-and-egg DNS resolution failures on reboot
User zvx: uid=1000(zvx) gid=1000(zvx) groups=1000(zvx),27(sudo),990(docker) OK
sudo: OK
sshpass: OK
SSH: active
Docker: Docker version 29.5.3, build d1c06ef
Tailscale: 100.64.0.25 argus echo6 linux -
Tailscale IP: 100.64.0.25
Local IP: 192.168.1.103
```
---
## Known Issues & Resolutions
### Issue: DNS resolution fails after container restart
**Symptom:** `resolv.conf` gets reset to invalid nameserver (100.100.100.100), breaking apt and network connectivity.
**Root cause:** LXC containers sometimes reset DNS on boot before networking is fully initialized.
**Resolution:** Installed systemd drop-in (`/etc/systemd/system/tailscaled.service.d/dns-bootstrap.conf`) that sets fallback DNS before tailscaled starts. Prevents chicken-and-egg failure where Tailscale can't resolve vpn.echo6.co because DNS is broken.
### Issue: Tailscaled fails with "/dev/net/tun does not exist"
**Symptom:** Tailscaled crashes on startup with `CreateTUN("tailscale0") failed; /dev/net/tun does not exist`.
**Root cause:** Unprivileged LXC containers don't have access to /dev/net/tun by default.
**Resolution:** Recreated container as privileged (`--unprivileged 0`) and added TUN device to container config: