mirror of
https://github.com/kikootwo/ReadMeABook.git
synced 2026-06-02 20:30:10 +00:00
Add volume mapping docs and build/version metadata
Add a volume-mapping guide and surface build/version metadata throughout the project. Changes included: - documentation: Add documentation/deployment/volume-mapping.md and update TABLEOFCONTENTS.md and README to reference it (helps users align download client and RMAB paths). - CI: Capture package.json version in .github/workflows/build-unified-image.yml, pass APP_VERSION as a build-arg, and update the Discord notification to show the semantic version and pull `:latest`. - Docker: Declare ARG APP_VERSION and expose NEXT_PUBLIC_APP_VERSION / APP_VERSION / GIT_COMMIT env vars in dockerfile.unified so runtime and client can read the semantic version and commit. - App API/UI: Update src/app/api/version/route.ts and src/components/ui/VersionBadge.tsx to prefer semantic app version (APP_VERSION / NEXT_PUBLIC_APP_VERSION), include fullVersion and commit info, show commit in tooltip, and adjust fallback/dev labels. - Tests: Update tests (system.routes.test.ts and VersionBadge.test.tsx) to reflect the new version/commit fields and behavior. - Audible integration: Add ipRedirectOverride query param to multiple Audible requests to avoid IP-based region redirects. - Misc: Bump package.json version to 1.0.0. These changes make version information consistent between build, runtime, and UI, improve CI notifications, add user guidance for common volume-mapping issues, and harden Audible scraping against region redirects.
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
# Volume Mapping Guide (Download Clients)
|
||||
|
||||
**Status:** Reference | qBittorrent + SABnzbd path alignment with RMAB
|
||||
|
||||
## The Golden Rule
|
||||
|
||||
Both your download client and RMAB must see files at the **SAME path**.
|
||||
|
||||
If qBittorrent saves to `/downloads/audiobook.m4b`, RMAB must also see it at `/downloads/audiobook.m4b` — not `/data/downloads/audiobook.m4b` or any other path.
|
||||
|
||||
---
|
||||
|
||||
## Docker Compose Setup
|
||||
|
||||
```yaml
|
||||
services:
|
||||
qbittorrent:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
volumes:
|
||||
- /path/on/host/downloads:/downloads # Download location
|
||||
# ... other settings
|
||||
|
||||
readmeabook:
|
||||
image: ghcr.io/kikootwo/readmeabook:latest
|
||||
volumes:
|
||||
- /path/on/host/downloads:/downloads # SAME path as qBittorrent!
|
||||
# ... other settings
|
||||
```
|
||||
|
||||
**Key Points:**
|
||||
- **Left side** (`/path/on/host`): Your actual server paths — can be different per container
|
||||
- **Right side** (`/downloads`): Container paths — **MUST BE IDENTICAL** between download client and RMAB
|
||||
|
||||
---
|
||||
|
||||
## RMAB Settings Configuration
|
||||
|
||||
In the setup wizard or admin settings:
|
||||
|
||||
| Setting | Value | Notes |
|
||||
|---------|-------|-------|
|
||||
| Download Directory | `/downloads` | Must match download client's save path |
|
||||
|
||||
---
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
### Wrong: Different container paths
|
||||
|
||||
```yaml
|
||||
qbittorrent:
|
||||
volumes:
|
||||
- /host/downloads:/data/torrents # qBittorrent sees /data/torrents
|
||||
|
||||
readmeabook:
|
||||
volumes:
|
||||
- /host/downloads:/downloads # RMAB sees /downloads
|
||||
```
|
||||
|
||||
**Result:** RMAB can't find files — paths don't match inside containers.
|
||||
|
||||
### Correct: Identical container paths
|
||||
|
||||
```yaml
|
||||
qbittorrent:
|
||||
volumes:
|
||||
- /host/downloads:/downloads # Both see /downloads
|
||||
|
||||
readmeabook:
|
||||
volumes:
|
||||
- /host/downloads:/downloads # Both see /downloads
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Verification Checklist
|
||||
|
||||
1. **Check download client settings:**
|
||||
- qBittorrent: Web UI → Options → Downloads → Default Save Path
|
||||
- SABnzbd: Config → Folders → Completed Download Folder
|
||||
- Should be `/downloads` (or your mapped path)
|
||||
|
||||
2. **Check RMAB settings:**
|
||||
- Download Directory: Should be within the mapped volume, e.g., `/downloads/RMAB`
|
||||
|
||||
3. **Test download:**
|
||||
- Request an audiobook
|
||||
- Check RMAB logs for path information
|
||||
- Look for `organizePath` in logs — should show a valid path
|
||||
|
||||
---
|
||||
|
||||
## Quick Example
|
||||
|
||||
**Scenario:** Downloads on `/mnt/storage/downloads`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
qbittorrent:
|
||||
volumes:
|
||||
- /mnt/storage/downloads:/downloads
|
||||
|
||||
readmeabook:
|
||||
volumes:
|
||||
- /mnt/storage/downloads:/downloads
|
||||
```
|
||||
|
||||
**RMAB Settings:**
|
||||
- Download Directory: `/downloads/RMAB`
|
||||
|
||||
**qBittorrent Settings:**
|
||||
- Default Save Path: `/downloads`
|
||||
|
||||
Files will be found correctly because all paths align.
|
||||
|
||||
---
|
||||
|
||||
## Remote Path Mapping (Advanced)
|
||||
|
||||
**Note:** 99% of users don't need this. If your download client and RMAB run on the same machine or have access to the same file system (a NAS for example) with matching volume mounts (as shown above), skip this section.
|
||||
|
||||
### When You Need It
|
||||
|
||||
Remote path mapping is required when:
|
||||
- Download client runs on a **totally remote** machine (separate from RMAB)
|
||||
- Download client runs on the **host** while RMAB runs in Docker
|
||||
- Download client and RMAB have **different volume mount points** that can't be aligned
|
||||
|
||||
### How It Works
|
||||
|
||||
When enabled, RMAB translates paths reported by the download client:
|
||||
|
||||
```
|
||||
Download client reports: /data/torrents/audiobook.m4b (remotePath)
|
||||
RMAB translates to: /downloads/audiobook.m4b (localPath)
|
||||
```
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user