You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Request and download platform for audiobooks β the audiobook counterpart to Sonarr/Radarr, feeding a library that Audiobookshelf can serve. Requested in discussion #12841.
Stack: Next.js + Prisma. Release v1.2.1 has no assets, so it builds from the tarball: npm ci, npx prisma generate, npx prisma migrate deploy, npm run build, started via npm run start on 3030.
Layout taken from dockerfile.unified, which bundles Postgres and Redis into one image. Here they are proper services: PG_VERSION="17" setup_postgresql and the Debian redis-server.
Node 20 to match the Dockerfile's node:20-bookworm base.
setup_ffmpeg instead of the static ffmpeg the Dockerfile pulls from johnvansickle β with the reworked helper that is now the distribution package, which is both faster and LGPL.
NEXTAUTH_SECRET is generated at install; the update path backs up and restores .env around the CLEAN_INSTALL refresh, since changing it would invalidate every session.
Note: the Next.js build wants ~4 GB RAM. Below that it tends to get OOM-killed.
Create your account through the web UI at http://:3030 on first visit - the first user becomes the administrator.
Mount your audiobook library into the LXC and point the download directory at it, otherwise finished downloads stay inside the container.
NEXTAUTH_SECRET is generated at install and stored in /opt/readmeabook/.env. Changing it invalidates all existing sessions. The update path backs the file up and restores it around the source refresh.
Next.js build with Prisma migrations against the local PostgreSQL. The build needs roughly 4 GB RAM; less tends to end in an out-of-memory kill.
Note: This is not in the official repo yetβit's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
I had to grab my key from the env and add "Environment=CONFIG_ENCRYPTION_KEY=your_generated_hex_string" this line in the [service] section of the etc/systemd/system/readmeabook.service.
Worked perfectly after.
UPDATE: This is caused by the issues above about the missing CONFIG_ENCRYPTION_KEY. I generated my own key and added it to the .env file they it all worked ok
I get to the end of setup with green ticks all the way through but then get an error at the end:
Same issue that got solved using Claude on my Proxmox VE with (triple check this is correct for you): echo "CONFIG_ENCRYPTION_KEY=$(openssl rand -base64 32)" >> /opt/readmeabook/.env systemctl restart readmeabook journalctl -u readmeabook -f
At this point, it continues and takes you out of the setup, but there are no Scheduled Jobs and there is no option to create them manually.
-- Boot 3a899c1be00f46c39e1b8cfef7c58066 --
Aug 26 16:38:45 ReadMeABook systemd[1]: Started readmeabook.service - ReadMeABook.
Aug 26 16:38:45 ReadMeABook npm[332]: > readmeabook@1.2.2 start
Aug 26 16:38:45 ReadMeABook npm[332]: > next start
Aug 26 16:38:45 ReadMeABook npm[366]: β² Next.js 16.0.7
Aug 26 16:38:45 ReadMeABook npm[366]: - Local: http://localhost:3030
Aug 26 16:38:45 ReadMeABook npm[366]: - Network: http://10.10.10.47:3030
Aug 26 16:38:45 ReadMeABook npm[366]: β Starting...
Aug 26 16:38:45 ReadMeABook npm[366]: [baseline-browser-mapping] The data in this module is over two months old. To ensure accurate Baseline data, please update: npm i baseline-browser-mapping@latest -D
Aug 26 16:38:46 ReadMeABook npm[366]: β "next start" does not work with "output: standalone" configuration. Use "node .next/standalone/server.js" instead.
Aug 26 16:38:46 ReadMeABook npm[366]: β Ready in 487ms
Aug 26 16:40:00 ReadMeABook npm[366]: [ERROR] [Auth] User not found in database
Aug 26 16:40:00 ReadMeABook npm[366]: {
Aug 26 16:40:00 ReadMeABook npm[366]: "userId": "6b4235a8-5a81-44a6-bb65-01b54cec884e"
Aug 26 16:40:00 ReadMeABook npm[366]: }
Aug 26 16:44:48 ReadMeABook npm[366]: [INFO] [QBittorrent] [QBittorrent] No credentials configured β running in auth-optional mode (suitable for IP-whitelisted qBittorrent or auth-less proxies like Decypharr)
Aug 26 16:44:49 ReadMeABook npm[366]: [INFO] [QBittorrent] [QBittorrent] No credentials configured β running in auth-optional mode (suitable for IP-whitelisted qBittorrent or auth-less proxies like Decypharr)
Aug 26 16:45:27 ReadMeABook npm[366]: [INFO] [API.Setup.Complete] Configuration saved successfully
Aug 26 16:45:27 ReadMeABook npm[366]: (node:366) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 error listeners added to [Commander]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
Aug 26 16:45:27 ReadMeABook npm[366]: (Use node --trace-warnings ... to show where the warning was created)
Aug 26 16:45:27 ReadMeABook npm[366]: (node:366) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 ready listeners added to [Commander]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
Aug 26 16:45:27 ReadMeABook npm[366]: (node:366) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Commander]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
Is there a way to force RMAB to rescan the imported books?
I've adjusted the folder and file templates and would like to rescan and update my library.
Thanks
It was missing some functions for me, like scheduled tasks etc, so maybe. You could also edit the database manually, you will have a creds file in your home.
Get Outlook for Android<https://aka.ms/AAb9ysg>
Activity
github-actions commentedon Aug 4, 2026
The ReadMeABook script is ready for testing:
Create your account through the web UI at http://:3030 on first visit - the first user becomes the administrator.
Mount your audiobook library into the LXC and point the download directory at it, otherwise finished downloads stay inside the container.
NEXTAUTH_SECRET is generated at install and stored in /opt/readmeabook/.env. Changing it invalidates all existing sessions. The update path backs the file up and restores it around the source refresh.
Next.js build with Prisma migrations against the local PostgreSQL. The build needs roughly 4 GB RAM; less tends to end in an out-of-memory kill.
Note: This is not in the official repo yetβit's just a dev version! After merging into ProxmoxVE, it will need to be recreated.
Discord testing thread: https://discord.com/channels/1302816934508630047/1534101381391061143
schinguhl commentedon Aug 5, 2026
CONFIG_ENCRYPTION_KEY= was missing in .env file during installation. I added the line manually, restartet and continued the wizard.
ChaBoiNick commentedon Aug 14, 2026
I had to grab my key from the env and add "Environment=CONFIG_ENCRYPTION_KEY=your_generated_hex_string" this line in the [service] section of the etc/systemd/system/readmeabook.service.
Worked perfectly after.
ianfriend commentedon Aug 21, 2026
UPDATE: This is caused by the issues above about the missing CONFIG_ENCRYPTION_KEY. I generated my own key and added it to the .env file they it all worked ok
I get to the end of setup with green ticks all the way through but then get an error at the end:
eoren1 commentedon Aug 22, 2026
Same issue that got solved using Claude on my Proxmox VE with (triple check this is correct for you):
echo "CONFIG_ENCRYPTION_KEY=$(openssl rand -base64 32)" >> /opt/readmeabook/.env systemctl restart readmeabook journalctl -u readmeabook -fMickLesk commentedon Aug 22, 2026
I add it later
Quotacious commentedon Aug 26, 2026
At this point, it continues and takes you out of the setup, but there are no Scheduled Jobs and there is no option to create them manually.
GeekCad commentedon Sep 2, 2026
Is there a way to force RMAB to rescan the imported books?
I've adjusted the folder and file templates and would like to rescan and update my library.
Thanks
ChaBoiNick commentedon Sep 2, 2026
github-actions commentedon Sep 2, 2026
A PR has been created for readmeabook: community-scripts/ProxmoxVE#16963
MickLesk commentedon Sep 2, 2026
Merged with #16963 in ProxmoxVE