Skip to content

godver3/bookomatic

Repository files navigation

Bookomatic

Personal book acquisition tool. Searches MyAnonamouse for ebooks and audiobooks, downloads via qBittorrent, and organizes completed files into a library.

Features

  • Search MAM for ebooks and audiobooks
  • Automatic download via qBittorrent integration
  • Organizes completed downloads into ebooks/ and audiobooks/ directories
  • Multi-user auth with session-based login
  • Web UI with search, filtering, pagination, and bulk downloads
  • Retry stuck/failed downloads

Prerequisites

Quick Start (Docker)

1. Get the sample files

mkdir bookomatic && cd bookomatic
curl -O https://raw.githubusercontent.com/godver3/bookomatic/main/config.sample.yml
curl -O https://raw.githubusercontent.com/godver3/bookomatic/main/docker-compose.sample.yml

2. Configure

cp config.sample.yml config.yml

Edit config.yml and fill in:

  • Your MAM session cookie — get this from MAM > Preferences > Security > mam_id
  • Your qBittorrent URL, username, and password
  • Volume paths for downloads and library storage

3. Edit docker-compose

Open docker-compose.sample.yml and update the volume paths to match your setup:

volumes:
  - ./config.yml:/config.yml:ro
  - bookomatic-data:/data
  - /your/download/path:/downloads      # where qBittorrent downloads to
  - /your/books/path:/library            # where organized books end up

4. Create your first user

There is no default user. You must create one before you can log in:

docker compose -f docker-compose.sample.yml run --rm bookomatic adduser admin

You'll be prompted to enter a password.

5. Start

docker compose -f docker-compose.sample.yml up -d

Open http://localhost:8484 and log in with the user you created.

Configuration Reference

All configuration is done via config.yml. See config.sample.yml for a complete template.

Setting Required Description
mam.mam_id Yes MAM session cookie
qbittorrent.url Yes qBittorrent Web API URL
qbittorrent.username No qBittorrent username
qbittorrent.password No qBittorrent password
storage.download_dir Yes Path where bookomatic reads completed torrents
storage.qbit_download_dir No Path as qBittorrent sees it (for container path translation)
storage.library_dir Yes Path where organized books are stored
storage.db_path No SQLite database path (default: bookomatic.db)
server.port No HTTP port (default: 8484)

User Management

# Add a user (will prompt for password)
docker exec -it bookomatic bookomatic adduser <username>

# List users
docker exec -it bookomatic bookomatic listusers

# Delete a user
docker exec -it bookomatic bookomatic deleteuser <username>

Building from Source

Requires Go 1.25+.

go build -o bookomatic .
cp config.sample.yml config.yml
# edit config.yml
./bookomatic adduser admin
./bookomatic

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors