DEEN

InfraQuill

Screenshot in. Documentation out. InfraQuill analyzes network screenshots with AI and automatically generates Mermaid diagrams, Markdown documentation, and topology overviews — self-hosted, Docker-based.

What InfraQuill can do Upload a screenshot — AI does the rest. No more manual documentation.

Screenshot → Documentation

Upload a network screenshot, AI detects devices, connections, and topology — and creates clean Markdown documentation from it.

Mermaid Diagrams

Automatic generation of network topology diagrams as Mermaid code — ready to use directly in Confluence, Notion, or GitLab.

Multiple AI Providers

Anthropic Claude, OpenAI GPT-4o, Google Gemini, Mistral Pixtral — or locally via Ollama (free, no cloud subscription required).

Multi-User & Roles

Admin and regular users with their own login. The admin sets the AI provider — users use the selected AI without any configuration of their own.

Self-Hosted & GDPR-Compliant

Runs entirely locally via Docker. No data leaves your own network — except for API requests to the selected AI provider.

Export & Integration

Export results as Markdown — ready to use directly in Confluence, GitLab Wiki, or Notion.

Auto GPU Detection

Automatically detects NVIDIA (CUDA) and AMD (ROCm) and uses the available GPU to accelerate the local Ollama AI. Note: Intel iGPU (e.g. N100) is currently not used by Ollama for LLM inference — there, processing runs optimized on the CPU.

AI Provider

Flexibly selectable Local models via Ollama or cloud providers — switchable at any time without reinstallation.

Anthropic Claude

OpenAI GPT-4o

Google Gemini

Mistral Pixtral

Ollama (local, free)

OpenRouter

Installation

InfraQuill – Installation Guide

InfraQuill is an AI-powered network documentation application. It runs entirely via Docker and requires no cloud connection (Ollama local).

---

Requirements

| Requirement | Details | |---|---| | Docker | ≥ 24.x | | Docker Compose | ≥ v2 (plugin docker compose, not docker-compose) | | Python 3 | For manage.sh (update logic) | | RAM | At least 4 GB (Ollama model: approx. 5–6 GB recommended) | | Storage | At least 10 GB (Ollama model + data) |

System Support

  • Linux (Ubuntu 22.04+, Debian 11+, Rocky/AlmaLinux 9)
  • UGREEN NAS (DXP and NASync series with Docker support)
  • Synology NAS (DSM 7.2+, Container Manager)
  • Unraid (Docker plugin active)
  • Proxmox LXC (with Docker installed)
  • Raspberry Pi 4/5 (64-bit OS, no GPU support)
  • Windows (via WSL2 + Docker Desktop, WSL integration enabled)
  • macOS (with Docker Desktop)
manage.sh is a POSIX sh script and requires Python 3 as well as docker compose. On Windows, it only runs within WSL2 (not in PowerShell/cmd) – Docker Desktop must have WSL integration enabled for the distribution used.

---

Directory Structure After Installation

infraquill/                     ← installation folder
├── manage.sh                   ← management script
├── docker-compose.yml          ← created from .example (on first update)
├── docker-compose.yml.example  ← template (never edit manually!)
├── .env                        ← created from .example (on first update)
├── .env.example                ← template
├── data/                       ← persistent data (never overwritten)
│   └── ollama/                 ← Ollama models
└── logs/
    └── deploy.log              ← update log

---

New Installation (Initial Setup)

Step 1 – Create installation folder

Recommended path per system:

| System | Recommended Path | |---|---| | Linux server / Proxmox LXC | /opt/infraquill | | UGREEN NAS (UGOS Pro) | /volume1/docker/infraquill | | Synology NAS (DSM) | /volume1/docker/infraquill | | Unraid | /mnt/user/appdata/infraquill | | Raspberry Pi | /opt/infraquill (or /home/pi/infraquill) | | Windows (in WSL2!) | e.g. ~/infraquill inside the WSL distribution | | macOS | ~/infraquill |

The exact path depends on the data volume (for UGREEN/Synology, check via file manager/volume overview which volume is intended for Docker data).
mkdir -p /opt/infraquill
cd /opt/infraquill
UGREEN/Synology NAS: Easiest to run via SSH on the NAS, alternatively create the folder via file manager and then switch to the folder via SSH (SSH is required for manage.sh). Windows: First open a WSL2 terminal (wsl in PowerShell), then run the commands inside WSL – not in PowerShell/cmd.

Step 2 – Place files

Copy infraquill_release.zip and manage.sh into the installation folder.

/opt/infraquill/
├── infraquill_release.zip
└── manage.sh

Step 3 – Make manage.sh executable

chmod +x manage.sh

Step 4 – First update / installation

./manage.sh update

The script:

  1. Unpacks the ZIP (via Python 3, no unzip needed)
  2. Creates docker-compose.yml from the .example template
  3. Creates .env from the .example template
  4. Builds the Docker images and starts the containers

Step 5 – Adjust configuration

Edit the .env:

nano .env

Important values:

# AI backend: "ollama" (local, no API key) or "anthropic"/"openai" (cloud)
AI_BACKEND=ollama

# Ollama runs in the same Docker network
OLLAMA_URL=http://ollama:11434
OLLAMA_MODEL=qwen2.5vl:7b

# API keys (only if cloud backend is desired)
ANTHROPIC_API_KEY=
OPENAI_API_KEY=

# Security key – be sure to change this!
SECRET_KEY=changeme-set-random-value

# Storage path for Ollama models
# Default: ./data/ollama
# NAS recommendation: absolute path to the data volume
OLLAMA_MODELS_PATH=./data/ollama
Important: SECRET_KEY must be a long random value. Generate it with:
> python3 -c "import secrets; print(secrets.token_hex(32))"
> 

Step 6 – Restart containers (after configuration changes)

./manage.sh restart

---

Accessibility

| Service | URL | |---|---| | InfraQuill Web UI | http://<IP address>:5743 | | Ollama API (internal) | http://localhost:11434 |

---

GPU Support (optional)

NVIDIA

  1. Install the NVIDIA Container Toolkit
  2. In docker-compose.yml, uncomment the deploy block for the ollama service

AMD ROCm

  1. Change the image in docker-compose.yml: ollama/ollama:rocm
  2. Uncomment the devices block for /dev/kfd and /dev/dri

---

Update (existing installation)

  1. Place the new infraquill_release.zip in the installation folder
  2. Start the update:
./manage.sh update

What happens during the update:

  • Code files are updated
  • docker-compose.yml and .env remain unchanged (not overwritten)
  • The data/ folder is not touched (Ollama models are preserved)
  • Docker images are rebuilt and containers are restarted
  • The ZIP is renamed after the update (as archive)

---

Watch Mode (automatic updates)

Watch mode checks every 30 seconds whether a new infraquill_release.zip is present and deploys it automatically.

./manage.sh watch
Useful for automated deployments via SFTP/SCP on NAS systems.

To start as a background service:

nohup ./manage.sh watch > logs/watch.log 2>&1 &

---

manage.sh – All Commands

./manage.sh update          # Update from infraquill_release.zip
./manage.sh update file.zip # Update from specific ZIP
./manage.sh watch           # Watch mode: new ZIP → auto deploy
./manage.sh start           # Start containers
./manage.sh stop            # Stop containers
./manage.sh restart         # Restart containers
./manage.sh status          # Show container status
./manage.sh logs            # All logs (live)
./manage.sh logs infraquill # Logs of a specific service

---

Troubleshooting

Containers won't start

./manage.sh logs
# or specifically:
./manage.sh logs infraquill
./manage.sh logs ollama

Ollama model missing / not loading

./manage.sh logs ollama
# Model is automatically downloaded on first start (~4 GB)

Port 5743 not reachable

./manage.sh status
# Check whether the container is running, then:
docker compose ps

docker compose not found

Check whether Docker Compose is installed as a plugin:

docker compose version
# If not available, update Docker or install the Compose plugin

UGREEN NAS: Permission denied for manage.sh

chmod +x manage.sh
# Or run directly:
sh manage.sh update

Windows: "manage.sh: command not found" or syntax error

manage.sh is a shell script and does not run directly in PowerShell/cmd. Always switch to WSL2 first:

wsl
cd ~/infraquill
./manage.sh update
Docker Desktop → Settings → Resources → WSL Integration: the distribution used must be enabled.

Unraid: Docker Compose not found

Unraid's Docker plugin usually includes docker compose. If not available, install the "Compose Manager" plugin from the Community Applications.

---

Uninstallation

./manage.sh stop
docker compose down --volumes --rmi all
Warning: --volumes deletes all persistent data including the Ollama models. Without --volumes, the data in the data/ folder is preserved.
InfraQuill

Price plus 19% VAT. One-time payment, no subscription costs, self-hosted.

  • Screenshot → documentation & diagrams
  • All AI providers (Anthropic, OpenAI, Gemini, Mistral, Ollama)
  • Multi-user with role management
  • Docker-based, self-hosted
  • Complete setup guide included
  • One-time payment — no subscription
Buy now