Your tackle box,
organized.
A self-hosted fishing log for your lures, spots, catches & tackle
Everything an angler needs...
Lure library
Photo cards with tags, favourites, lost-lure tracking, printable QR labels, and fast client-side filtering & search.
Fishing spots
Mark your spots on an interactive map with GPS coordinates and photos.
Catch log
Species, weight & length, GPS location, catch notes.
Tackle box
Rods, reels, lines, and combos — with full line-spool history.
Stats & insights
Spot trends across your catches and gear over time.
AI assistantoptional
A self-hosted chatbot that answers questions about your data, provides fish & lure identification from an image — via a LiteLLM sidecar. Your keys, your infra.
Multi-user modeoptional
Turn on login to host friends & family: per-user data isolation, storage quotas and admin panel.
Share links
Publish a read-only page for any lure, spot, or catch.
REST API
A read-only JSON API with Bearer tokens and a built-in Swagger UI.
Backup & restore
One-click ZIP export/import — per-user or full-instance.
9 languages
EN, DE, FR, ES, IT, NL, PL, PT, UK.
Themes
Features several themes including a light/dark mode.
Take it for a cast.
Explore a fully populated OpenFishing instance
Up and running in one command.
OpenFishing ships as a single container. Point two volumes at persistent storage for the SQLite database and your uploads, and you're fishing.
Full docsdocker run -d -p 3000:3000 \
-v openfishing-db:/app/data \
-v openfishing-uploads:/app/uploads \
ghcr.io/m1ndgames/openfishing:latest


