
Grimmory is a self-hosted application for managing your entire book collection in one place. It lets you organize books with smart rule-based shelves and full-text search, fetch metadata automatically, read and annotate PDFs/EPUBs/comics in a built-in browser, sync progress across devices (including Kobo and KOReader via OPDS), support multiple users, import books automatically from watched folders, and share titles easily with others or to devices like Kindle, all without depending on third-party cloud services. Grimmory serves as the successor to BookLore. In this step by step guide I will show you how to install Grimmory on your Synology NAS using Docker & Portainer.
This guide works perfectly with the latest Grimmory v2.3.0Ā release.
STEP 1
Please Support My work by Making a Donation.
STEP 2
InstallĀ Portainer using my step by step guide. If you already have Portainer installed on your Synology NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.
STEP 3
Go toĀ File Station and open the docker folder. Inside the docker folder, create one new folder and name it grimmory. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

STEP 4
Now create four new folders inside the grimmoryĀ folder that you have previously created at STEP 3 and name them bookdrop, books, data, db. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

STEP 5
Populate the books folder that you have previously created at STEP 4 with your CBZ, CBR, PDF, EPUB files.
STEP 6
Log into Portainer using your username and password. On the left sidebar in Portainer, click onĀ HomeĀ thenĀ Live connect. Follow the instructions in the image below.

On the left sidebar in Portainer, click on StacksĀ thenĀ + Add stack. Follow the instructions in the image below.

STEP 7
In the Name field type in grimmory. Follow the instructions in the image below.
services:
mariadb:
image: mariadb:11.8-noble #LTS Long Term Support Until October 15, 2033.
container_name: Grimmory-DB
hostname: grimmory-db
security_opt:
- no-new-privileges:false
environment:
MARIADB_DATABASE: grimmory
MARIADB_USER: grimmoryuser
MARIADB_PASSWORD: grimmorypass
MARIADB_ROOT_PASSWORD: rootpass
TZ: Europe/Bucharest
volumes:
- /volume1/docker/grimmory/db:/var/lib/mysql:rw
restart: on-failure:5
grimmory:
image: ghcr.io/grimmory-tools/grimmory:latest
container_name: Grimmory
healthcheck:
test: ["CMD-SHELL", "nc -z 127.0.0.1 6060 || exit 1"]
interval: 10s
timeout: 5s
retries: 3
start_period: 90s
environment:
USER_ID: 1026
GROUP_ID: 100
TZ: Europe/Bucharest
DATABASE_URL: jdbc:mariadb://mariadb:3306/grimmory #Or jdbc:mariadb://grimmory-db:3306/grimmory if you Experience Connection Issues.
DATABASE_USERNAME: grimmoryuser
DATABASE_PASSWORD: grimmorypass
depends_on:
mariadb:
condition: service_started
ports:
- 6069:6060
volumes:
- /volume1/docker/grimmory/data:/app/data:rw
- /volume1/docker/grimmory/books:/books:rw
- /volume1/docker/grimmory/bookdrop:/bookdrop:rw #Files inside the bookdrop folder are automatically detected.
restart: on-failure:10
Note: Before you paste the code above in the Web editor area below, change the value for TZ.Ā (Select your current Time Zone from this list.)
Note: Before you paste the code above in the Web editor area below, change the value numbers for USER_ID and GROUP_IDĀ with your own values. (Follow my step by step guide on how to do this.)

STEP 8
Scroll down on the page until you see a button namedĀ Deploy the stack. Click on it. Follow the instructions in the image below. The installation process can take up to a few minutes. It will depend on your Internet speed connection.

STEP 9
If everything goes right, you will see the following message at the top right of your screen: āSuccess Stack successfully deployedā.

STEP 10
š¢Please Support My work by Making a Donation. Almost 99,9% of the people that install something using my guidesĀ forget to support my work, or justĀ ignoreĀ STEP 1. Iāve been very honest about this aspect of my work since the beginning: I donāt run any ADS, I donāt require subscriptions, paid or otherwise, I donāt collect IPs, emails, and I donāt have any referral links from Amazon or other merchants. I also donāt have any POP-UPs or COOKIES. I have repeatedly been told over the years how much I have contributed to the community. Itās something I love doing and have been honest about my passion since the beginning. But I also Need The Community to Support me Back to be able to continue doing this work.
STEP 11
Please wait approximately 10 minutes or you will get a blank synology error page if you try to connect too soon. The installation process can take up to a few seconds/minutes. It will depend on your Internet speed connection. Now open your browser and type in http://Synology-ip-address:6069 If everything goes right, you will see the Grimmory Registration page. Type in your own details, then click Create Admin Account. Follow the instructions in the image below.

STEP 12
Type in your own Username and Password that you have previously added at STEP 11. Click Login. Follow the instructions in the image below.

STEP 13
Click the + Create Your Library button. Follow the instructions in the image below.

STEP 14
Type in a Name for the library, select the library icon. Click Add folder. Follow the instructions in the image below.

STEP 15
In the Current Path area, type in /books then Select the books path. Click Select Directories. Follow the instructions in the image below.

STEP 16
Check to enable the Watch Folders option. Click Create. Follow the instructions in the image below.

STEP 17
Wait a few minutes. The files that you have previously uploaded at STEP 5 will be processed. Click the Upload Book icon to upload new books. All the files will be automatically uploaded in the books folder that you have previously created at STEP 4, and automatically processed if you have selected the Watch Folders option at STEP 16. Follow the instructions in the image below.

STEP 18
Your Grimmory stats at a glance! Click the Stats icon to check your Grimmory Stats!

Enjoy Grimmory!
If you encounter issues by using this container, make sure to check out the Common Docker issuesĀ article.
Note: If you want to run the Grimmory container over HTTPS, check How to Run Docker Containers Over HTTPS. In order to make Grimmory work via HTTPS, it’s mandatory to activate WebSocket.
Note: Can I run Docker on my Synology NAS?Ā See the supported models.
Note: How to Back Up Docker Containers on your Synology NAS.
Note: Find outĀ how to update the Grimmory container with the latest image.
Note: How to Add USB Support on DSM 7.2.
Note: How to Free Disk Space on Your NAS if You Run Docker.
Note: How to Schedule Start & Stop For Docker Containers.
Note: How to Activate Email Notifications.
Note: How to Add Access Control Profile on Your NAS.
Note: How to Change Docker Containers Restart Policy.
Note: How to Use Docker Containers With VPN.
Note: Convert Docker Run Into Docker Compose.
Note: How to Clean Docker.
Note: How to Clean Docker Automatically.
Note: Best Practices When Using Docker and DDNS.
Note: Some Docker Containers Need WebSocket.
Note: Find out the Best NAS Models For Docker.
Note: Activate Gmail SMTP For Docker Containers.
This post was updated on Sunday / March 22nd, 2026 at 12:02 AM