Repository navigation
Troubleshooting
This is the #1 head-scratcher and it's almost never Verdant's fault. The app runs inside a Docker container, so localhost inside the container means the container itself — not your PC.
If Ollama/Immich runs on the same machine as Verdant (in Docker):
use http://host.docker.internal:11434 (Ollama) or http://host.docker.internal:2283 (Immich) as the base URL. host.docker.internal is a magic hostname that means "the machine Docker is running on." (Verdant's compose file already maps it for you.)
If Ollama runs on a different machine on your LAN:
use that machine's LAN IP, e.g. http://192.168.0.114:11434. Then check, in order:
-
Ollama must bind to all interfaces, not just localhost. Start it with
OLLAMA_HOST=0.0.0.0in the environment (on Windows: set it as a system/user environment variable and restart Ollama). The default only listens on127.0.0.1, which refuses connections from other machines. -
The firewall must allow inbound TCP on 11434. Test from a browser on another device:
http://192.168.0.114:11434/api/tagsshould return JSON. Iflocalhost:11434works on the Ollama machine but the LAN IP doesn't from elsewhere, it's the firewall. - In Verdant: tick the Enable checkbox AND hit Save settings before pressing Test connection. The test reads the saved settings.
You can paste a URL ending in /v1 if you like — Verdant strips it, since it appends its own API paths.
The Test connection button says the model isn't on the server?
That's actually good news — it means the connection works. Run ollama pull <model-name> on the Ollama machine.
Your browser cached the old JavaScript. Hard-refresh (Ctrl+Shift+R / Cmd+Shift+R) or clear the site cache. The footer pill shows the running version — if it matches the latest release, you're on the new code.
- Check
IMMICH_BASE_URLandIMMICH_API_KEYin your.env(see Installation). Samehost.docker.internalrule as Ollama above when both run in Docker on one machine. - The API key needs album-read permission in Immich.
- The tag must contain the full URL Verdant shows on the tag's card (e.g.
http://your-server:3113/t/abc123), written with any NFC writer app. - Android reads NFC URLs natively — no app needed. iPhones need the screen on.
- If you changed Verdant's host port or hostname, old tags still point at the old address — rewrite them.
If Verdant sits behind a proxy (Cloudflare Tunnel, Nginx) and legitimate users get rate-limited, the app is probably seeing the proxy's IP for everyone. Set TUNNEL_MODE=true so it trusts the proxy's forwarded-for headers. (Not needed on a plain LAN setup.)
Open an issue on the repo with the bug template — include your Verdant version (footer pill) and how you run it (Docker / Dockge / local).