Introduction
OpenFishing is a self-hosted web app for anglers to organize their lure collection, mark fishing spots on a map, log their catches, and track their tackle — all from a single, privacy-first application that runs on your own server.
It’s a SvelteKit app backed by a single SQLite database, shipped as one Docker image. There’s no cloud service, no account with a third party, and no telemetry: your photos and data live on your infrastructure and nowhere else.
Philosophy
Section titled “Philosophy”- Self-hosted & privacy-first — you run it, you own the data. Nothing leaves your server.
- Cloud-free — no external dependencies required for the core app to work.
- Open source — released under the AGPL-3.0 license on GitHub.
- Simple to run — one container, one SQLite file, two volumes for the database and uploads.
Feature overview
Section titled “Feature overview”| Area | What it does |
|---|---|
| Lures | Photo library with tags, species, favourites, lost-lure tracking, QR labels and fast search. |
| Spots | Interactive Leaflet map of your fishing spots with GPS and photos. |
| Catches | Log species, weight, length, GPS, catch-&-release and presentation, with a weather-based Bite Index. |
| Bite Index | An automatic 0–10 score rating fishing conditions from weather data. |
| Tackle | Rods, reels, lines and combos, with line-spool history. |
| Stats | Trends across your catches and gear. |
| AI features | Optional chatbot plus fish & lure identification from photos. |
| Multi-user | Optional login for hosting friends & family, with quotas and an admin panel. |
| Share links | Public read-only pages for a lure, spot or catch. |
| REST API | Read-only JSON API with Bearer tokens and a Swagger UI. |
| Backup & restore | One-click ZIP export/import. |
| Languages | 9 languages with a flag switcher. |
Next steps
Section titled “Next steps”- Follow the Quick Start to get running in one command.
- Deploy properly with Installation (docker-compose).
- Tune behaviour with Environment variables.