The Docker version stores data in the browser cache by default. For your data security, please deploy and access it via HTTPS, then save the data to your local folder. Alternatively, you can enable the data source feature to synchronize the data to a specified server path.
Deploy Web Version Only
If you only need to deploy the web version, use the command below directly:
docker run -d \ --name koodo-reader \ -p 80:80 \ -p 8080:8080 \ -p 7200:7200 \ -e ENABLE_HTTP_SERVER=false \ -e SERVER_USERNAME=admin \ -e SERVER_PASSWORD=securePass123 \ -e ENABLE_OPDS=false \ -e ENABLE_KOREADER_SERVER=false \ -v /path/to/host/uploads:/app/uploads \ ghcr.io/koodo-reader/koodo-reader:master
Enable Data Source and OPDS Features
If you also need to enable the data source feature, modify the deployment command above as follows:
- Set
ENABLE_HTTP_SERVERtotrue
- Change
SERVER_USERNAMEandSERVER_PASSWORDto a username and password you consider secure
- Replace
/path/to/host/uploadswith the folder where you want to save reading data
If you also need to enable the OPDS feature so that your books can be accessed from other e-book readers, in addition to the three modifications above, also make the following change:
- Set
ENABLE_OPDStotrue
Your OPDS username and password are the
SERVER_USERNAME and SERVER_PASSWORD you set. The address is your data source address followed by /opds. Example: http://192.168.28.1:8080/opdsAfter deployment, select Docker as the data source in Koodo Reader.
The data source feature uses port 8080 by default, and the web version uses port 80 by default. You can also use other ports. If you need to use port 8090, change
-p 8080:8080 to -p 8090:8080Notes:
If you wish to use Docker Secrets to configure the server password, please refer to docker-compose-secret.yml
If you wish to improve security and restrict requests from unknown origins, add the environment variable ALLOWED_ORIGINS to the deployment command to limit request origins to your specified URLs, for example:
ALLOWED_ORIGINS="https://reader.example.com, http://192.168.182.1:3000"
Enable KOReader Sync Server
The Koodo Reader Docker version also supports the KOReader sync server feature, allowing you to sync your reading progress between Koodo Reader and KOReader. The interfaces and protocols used by this feature are fully compatible with the official KOReader sync server. To enable this feature, please modify the deployment command above as follows:
- Set
ENABLE_KOREADER_SERVERtotrue
- Replace
/path/to/host/uploadswith the folder where you want to store sync data
If you wish to prevent unknown users from registering after creating your own account, add the environment variable
ENABLE_KOREADER_REGISTRATION to the deployment command above and set it to false, for example:ENABLE_KOREADER_REGISTRATION=false
After deployment, you can enable reading progress sync to KOReader in Koodo Reader. Set the sync server address to your server address. The default port is 7200. An example is shown below:
http://192.168.28.1:7200