-
Notifications
You must be signed in to change notification settings - Fork 326
Troubleshooting
Common issues and their solutions when running RedAmon.
RedAmon is fully Dockerized and runs on any OS that supports Docker and Docker Compose v2+. Below are common OS-specific issues and their fixes.
| Problem | Cause | Fix |
|---|---|---|
| Docker socket permission denied | User not in docker group |
sudo usermod -aG docker $USER then log out and back in |
docker compose not found |
Old Docker version uses docker-compose (hyphen) |
Install Docker Compose V2 plugin or use docker-compose
|
| Port already in use (3000, 8010, etc.) | Another service occupies the port | Change ports in .env or stop the conflicting service |
| Containers killed (OOM) | Insufficient RAM | Increase swap or free memory — see minimum requirements |
| Volume mount denied (SELinux) | Fedora / RHEL / CentOS enforce SELinux | Add :z suffix to volume mounts in docker-compose.yml, or run sudo setsebool -P container_manage_cgroup on
|
| Firewall blocks container traffic |
firewalld or ufw blocking Docker bridge |
sudo ufw allow in on docker0 or allow the Docker subnet in firewalld |
| DNS fails inside containers |
systemd-resolved conflicts (Ubuntu 22.04+) |
Add {"dns": ["8.8.8.8", "8.8.4.4"]} to /etc/docker/daemon.json and restart Docker |
/var/run/docker.sock not found |
Docker not running or rootless Docker uses a different path |
sudo systemctl start docker or set DOCKER_HOST to the correct socket path |
| Problem | Cause | Fix |
|---|---|---|
| Docker socket unavailable | Windows uses named pipes, not Unix sockets | Use Docker Desktop with WSL2 backend enabled |
Line ending errors (\r\n) |
Git auto-converts LF → CRLF on Windows |
git config --global core.autocrlf input then re-clone the repo |
| Path too long errors | Windows 260-character path limit | git config --global core.longpaths true |
| Volume mount fails | Windows path format incompatible with Linux containers | Run from inside WSL2 filesystem (~/redamon), not from /mnt/c/
|
| Extremely slow performance | Bind mounts across Windows ↔ WSL boundary | Store the project inside WSL2 home (~/), not on a Windows-mounted drive |
| Docker Desktop won't start | WSL2 or Hyper-V not enabled | Run wsl --install in PowerShell (admin), reboot, then install Docker Desktop |
| Socket permission error in WSL2 | Docker Desktop integration not enabled for your WSL distro | Docker Desktop → Settings → Resources → WSL Integration → enable your distro |
| Problem | Cause | Fix |
|---|---|---|
| Slow bind-mount performance | macOS filesystem sharing overhead | Upgrade to Docker Desktop 4.x+ and enable VirtioFS in Settings → General |
| Port 5000 conflict | macOS AirPlay Receiver uses port 5000 | Disable AirPlay Receiver in System Settings → General → AirDrop & Handoff, or remap the port in .env
|
docker compose not found |
Docker CLI plugins not in PATH | Run brew install docker-compose or reinstall Docker Desktop |
Check the status of all containers:
docker compose psIf a service is in "restarting" or "exited" state, check its logs:
docker compose logs <service-name>Common services to check: webapp, agent, recon-orchestrator, neo4j, postgres
RedAmon with the full GVM stack requires significant resources. If containers are being killed:
- Check Docker's memory allocation (Docker Desktop > Settings > Resources)
- Increase to at least 8 GB RAM (16 GB recommended for GVM)
- Or run without GVM for a lighter footprint:
docker compose up -d postgres neo4j recon-orchestrator kali-sandbox agent webapp
If a port is already in use on your host:
# Check what's using port 3000
lsof -i :3000You can change ports in .env:
WEBAPP_PORT=3001
NEO4J_HTTP_PORT=7475
POSTGRES_PORT=5433The first GVM startup requires a ~30 minute feed synchronization to download 170,000+ NVTs. This is normal and only happens once.
Monitor progress:
docker compose logs -f gvmdThe GVM scan button requires:
- Reconnaissance must have completed for the project (GVM needs IP/hostname data)
- The GVM stack must be running
- Stealth mode must be disabled (GVM generates active probes)
Default: admin / admin (auto-created on first start)
To change:
docker compose exec -u gvmd gvmd gvmd --user=admin --new-password='<new-password>'Check the WebSocket connection indicator in the AI Agent drawer:
- Green WiFi icon = connected
- Red WiFi icon = disconnected
If disconnected:
- Check the agent container is running:
docker compose ps agent - Check agent logs:
docker compose logs -f agent - Try refreshing the page
- Restart the agent:
docker compose restart agent
If the agent seems stuck:
- Click Stop to halt the current operation
- Check agent logs for errors:
docker compose logs -f agent - Click Resume to continue, or start a new conversation
If the model selector shows no models or specific providers are missing:
- Check that API keys are set correctly in
.env - Restart the agent container:
docker compose restart agent - Check agent logs for API key errors:
docker compose logs agent | grep -i "error\|key\|auth"
If the reconnaissance scan appears stuck:
- Check the recon orchestrator logs:
docker compose logs -f recon-orchestrator - Check if the recon container is running:
docker compose ps - Some phases (especially Nuclei and Katana) can take a long time on large targets
After running recon, if the graph is empty:
- Verify the target domain is accessible
- Check the recon JSON output exists:
ls recon/output/ - Verify "Update Graph Database" is enabled in project settings
- Check Neo4j is running:
docker compose logs neo4j
docker compose logs postgresIf corrupt or needs reset:
docker compose down
docker volume rm redamon_postgres_data
docker compose up -dWarning: This deletes all users, projects, and settings.
docker compose logs neo4jVerify the password in .env matches what Neo4j expects. If Neo4j was initialized with a different password, you may need to reset the volume:
docker compose down
docker volume rm redamon_neo4j_data
docker compose up -dWarning: This deletes all graph data (recon results, exploit records, etc.).
Python services (agent, recon-orchestrator, kali-sandbox) have source code volume-mounted but cache modules at import time. After modifying .py files:
docker compose restart agent # AI agent
docker compose restart recon-orchestrator # Recon orchestrator
docker compose restart kali-sandbox # MCP tool serversFor the Next.js webapp in production mode, you need to rebuild:
docker compose build webapp
docker compose up -d webappFor development mode (hot-reload):
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -dTo completely reset RedAmon and start fresh:
# Stop everything, remove images and all data volumes
docker compose --profile tools down --rmi local --volumes --remove-orphansThen rebuild and start:
docker compose --profile tools build
docker compose up -dWarning: This destroys ALL data — users, projects, graph data, scan results, and conversations.
- GitHub Issues: github.com/samugit83/redamon/issues — report bugs or request features
-
Service logs:
docker compose logs -f <service>— always check logs first -
Docker status:
docker compose ps— verify all containers are healthy
Getting Started
Core Workflow
Scanning & OSINT
AI & Automation
Analysis & Reporting
- Insights Dashboard
- Pentest Reports
- Attack Surface Graph
- EvoGraph — Attack Chain Evolution
- Data Export & Import
Reference & Help