I recently completed the project of setting up a Calibre eBook library for me (and whoever else) to have access to from anywhere where there is a device and internet connection. This came about after realizing how many books I had acquired from Humble Bundles and college courses.
I started this project by installing Calibre, an open source software suite from here. It runs on Linux, Mac, and Windows. The interface is very straightforward, customization with different themes, and everything is clearly labeled.
I installed it using all defaults and opened the software. From there, I created a new library, titling them whatever seemed most fitting (Comics, Programming Languages, C#, and whatever else) and then started importing my books using the buttons provided on the interface.
First, open the Calibre preferences panel on your computer and open the “Sharing Over the Net” option. In the “Main” tab designate a port for listening for connections – this can be any number you want it to be, or you can leave it as the default.Check the “Run server automatically when Calibre starts” button. This makes it start whenever the Calibre program is opened and minimizes the number of tasks needed to get the service running.
Next, check the box for requiring a username and password to access the server – this prevents random people from connecting and accessing books. After checking the box, set up a user account under the “User accounts” tab. Do this by clicking the “Add user” button and specifying a username and password. Permissions for the user can be managed after creation on the right hand side of the panel when their username is highlighted.
In making this, I realized I would never remember an IP address, especially one that bounced around due to the VPN running on my server computer. To eliminate this problem, I created an account with and installed services from noIP, which can be found here. This was completely free and allows its users to pick host names for use on any computer. This service allows for a host name instead of a standard IP address when connecting to the Calibre library and makes it much easier to remember.
From there, you will need to set up port forwarding on your router. Each router is different, but the premise is generally the same. You will need to know:
- Which port you are using for Calibre, this is the one we set up at the start of this tutorial
- The INTERNAL IP address of the computer Calibre is running on
You will need to login to the router and go to the Advanced Setup > Port Forwarding/Triggering. Add a new service or custom service, input the range for forwarding (ex. If you used port 1234, you’ll need to forward 1234-1235. Just make sure the specified range includes the number you need forwarded), and link it to the internal IP address for the device running the application. Apply your changes. Your router and/or computer may need to be rebooted in order to completely apply changes, but this will not negatively affect your setup process (besides maybe taking up more time than you were hoping to spend).
From there, enter your noIP URL that is running from the computer into a browser followed by the port number (ex. http://myurl.myftp.com:1234) and it will direct you to the calibre login page and prompt for credentials for access.
Congrats! You can now access, download, and read books on your very own eLibrary!
I hope this helped with the setup process, and if you have any questions/comments/concerns please don’t hesitate to reach out to me either in the comments or using the contact tab!