{"id":51475438,"url":"https://github.com/woliveiras/bookaneer","last_synced_at":"2026-07-06T20:30:48.960Z","repository":{"id":349772523,"uuid":"1203499728","full_name":"woliveiras/bookaneer","owner":"woliveiras","description":"A self-hosted ebook collection manager","archived":false,"fork":false,"pushed_at":"2026-04-14T19:54:26.000Z","size":1523,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-14T21:26:27.418Z","etag":null,"topics":["books","docker","go","golang","media","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/woliveiras.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"woliveiras","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2026-04-07T05:07:01.000Z","updated_at":"2026-04-14T19:54:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/woliveiras/bookaneer","commit_stats":null,"previous_names":["woliveiras/bookaneer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/woliveiras/bookaneer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woliveiras%2Fbookaneer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woliveiras%2Fbookaneer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woliveiras%2Fbookaneer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woliveiras%2Fbookaneer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/woliveiras","download_url":"https://codeload.github.com/woliveiras/bookaneer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/woliveiras%2Fbookaneer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35205739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["books","docker","go","golang","media","self-hosted"],"created_at":"2026-07-06T20:30:48.196Z","updated_at":"2026-07-06T20:30:48.942Z","avatar_url":"https://github.com/woliveiras.png","language":"Go","funding_links":["https://github.com/sponsors/woliveiras"],"categories":[],"sub_categories":[],"readme":"# Bookaneer\n\nA self-hosted ebook collection manager. Combines features from Readarr and LazyLibrarian into a single binary (~20 MB Docker image) targeting home users, NAS devices, and Raspberry Pi.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/bookaneer_200.png\" alt=\"Bookaneer Mascot\" width=\"200\"\u003e\n\u003c/p\u003e\n\n## Features\n\n- **Library management** — Scan existing ebooks, organize by author/series, fetch metadata\n- **Web reader** — Read EPUBs directly in your browser (powered by Foliate-js)\n- **OPDS catalog** — Access your library from any OPDS-compatible reading app\n- **Automatic search** — Find books via Newznab/Torznab indexers (optional)\n- **Download integration** — qBittorrent, Transmission, SABnzbd, NZBGet (optional)\n- **Notifications** — Webhook, Discord, email, and more\n\n## Quick Start\n\n```bash\ndocker run -d \\\n  --name bookaneer \\\n  -p 9090:9090 \\\n  -v bookaneer_data:/data \\\n  -v /path/to/books:/library \\\n  --restart unless-stopped \\\n  ghcr.io/woliveiras/bookaneer:latest\n```\n\nOpen `http://localhost:9090` to access the web UI. The admin password is printed in the container logs:\n\n```bash\ndocker logs bookaneer 2\u003e\u00261 | grep \"Password:\"\n```\n\nTo access from another device on your network, use `http://\u003cyour-ip\u003e:9090`.\n\nSee the full [Docker Deployment Guide](docs/docker-deployment.md) for Docker Compose setup, environment variables, backups, and troubleshooting.\n\n## API Documentation (Swagger)\n\nBookaneer ships with built-in API documentation via Swagger UI:\n\n- **Swagger UI**: `http://localhost:9090/api/v1/docs`\n- **OpenAPI spec (JSON)**: `http://localhost:9090/api/v1/docs/openapi.json`\n\n## OPDS Catalog\n\nBookaneer exposes an [OPDS 1.2](https://opds-spec.org/) catalog so you can browse and download books from any OPDS-compatible reading app (KOReader, Moon+ Reader, Librera, Calibre, etc.).\n\n**Base URL:** `http://localhost:9090/opds`\n\n### Available feeds\n\n| Feed | URL | Description |\n|------|-----|-------------|\n| Root | `/opds` | Navigation catalog (entry point) |\n| By Author | `/opds/authors` | Browse authors who have files |\n| Author books | `/opds/authors/:id` | Books by a specific author |\n| Recent | `/opds/recent` | Recently added books |\n| Search | `/opds/search?q=term` | Search books by title or author |\n\n### Setup in reading apps\n\n1. Open your OPDS-compatible reading app\n2. Add a new OPDS catalog/library\n3. Enter the URL: `http://\u003cyour-server\u003e:9090/opds`\n4. Books with files will appear for download in EPUB, PDF, and other formats\n\n## Documentation\n\n- [Docker Deployment Guide](docs/docker-deployment.md)\n- [Developer Setup](docs/dev-setup.md)\n- [Architecture Overview](docs/architecture-overview.md)\n- [API Specification](docs/api-spec.md)\n- [Integrations](docs/integrations.md)\n\n## Tech Stack\n\n- **Backend**: Go 1.26+, Echo v4, SQLite (WAL mode)\n- **Frontend**: React 19, Vite, TanStack Query, shadcn/ui\n- **Web Reader**: Foliate-js (MIT)\n\n## Legal Disclaimer\n\n**Bookaneer is intended for managing legally obtained ebooks.** The developers do not condone, encourage, or promote copyright infringement or piracy in any form.\n\nThis software:\n- Is designed to organize and read ebooks you already own\n- Integrates with standard protocols (Newznab/Torznab, OPDS) used by many legitimate services\n- Does not host, distribute, or provide access to copyrighted content\n- **Does not circumvent or remove DRM** — files with DRM protection will not open\n\n**Users are solely responsible for ensuring their use of this software complies with all applicable copyright laws in their jurisdiction.**\n\nThe authors and contributors of this project assume no liability for any misuse of this software.\n\n## License\n\nThis project is licensed under the GNU General Public License v3.0 — see the [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nContributions are welcome! Please read [AGENTS.md](AGENTS.md) for project guidelines and conventions before submitting PRs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoliveiras%2Fbookaneer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoliveiras%2Fbookaneer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoliveiras%2Fbookaneer/lists"}