Share your library over the internet
Read your books from anywhere, and share them with friends and family, with the free Tailscale app. Nothing to change on your router.
Tailscale is a free app that links your devices together over the internet. Your phone can then open your library from anywhere, and nobody else can see it.
What you need
Section titled “What you need”- The computer that holds your library. It stays on while you read.
- Your phone, tablet or laptop. This is where you read.
- A free Tailscale account. You can sign in with Google, Apple or Microsoft.
Step 1. Keep your library running
Section titled “Step 1. Keep your library running”Pick the tab that matches where your library lives.
calibre-zen can keep sharing your books after you close its window.
-
Open the gear menu and choose Restart in headless mode. The window closes and a small icon appears in the menubar or the tray.
-
Click the icon and tick Share on this network. This lets your other devices in.
-
Look at Sharing at in the same menu. The number after the colon is your port, usually
8080.
Close and keep sharing in the Connect/share menu does the same thing.
Set the computer to stay awake in its power settings. A sleeping computer cannot share books.
The calibre-zen image runs on any NAS or small server with Docker. These four lines set it up in a new folder.
mkdir calibre-zen && cd calibre-zencurl -fsSLO https://raw.githubusercontent.com/purplecandy/calibre-zen/zen/packaging/docker/compose.yamlecho 'CALIBRE_ZEN_PASSWORD=a-long-password-of-your-own' > .envdocker compose up -dPut your own password in place of the example. Copy your books into the new add-books folder and they move into your library a few seconds later.
It keeps running in the background, even after a restart. Your port is 8080, and you sign in as reader with your password.
Run your own ebook library has every detail, if you want it.
Step 2. Put Tailscale on both devices
Section titled “Step 2. Put Tailscale on both devices”Tailscale’s own 10 minute video shows each of these steps, if you like to watch first.
-
Install Tailscale on the computer that holds your library. It is on the Tailscale download page. On a NAS, look for it in the app store, such as Synology’s Package Center.
-
Open it and sign in. This makes your free account.
-
Install Tailscale on your phone from the App Store or Google Play.
-
Sign in on your phone with the same account.
Both devices now say Connected in the Tailscale app.
Step 3. Open your library
Section titled “Step 3. Open your library”-
Find your library’s Tailscale address. Open Tailscale on your phone and look for the computer in the list. Its address starts with
100., like100.101.102.103. -
Open the browser on your phone and type that address, a colon and your port.
http://100.101.102.103:8080 -
Sign in, and your library is there.
Share it with friends and family
Section titled “Share it with friends and family”Your friend uses their own Tailscale account, and only sees the one computer you share.
-
Open the Machines page in Tailscale and find the computer that holds your library.
-
Click the three dots at the end of its row and choose Share.
-
Type your friend’s email, or copy the invite link and send it to them.
-
Your friend installs Tailscale, signs in and accepts the invite.
-
Send them the same address you use, and a username and password of their own.
To make a login for them on a Mac or PC, open Preferences, then Sharing over the net. Add them on the User accounts tab, and tick Require username and password on the first tab. With Docker, run this and follow the menu.
docker exec -it calibre-zen zen-entrypoint --manage-usersTo stop sharing, open Share on the Machines page again and remove their invite.
If it does not open
Section titled “If it does not open”- Check Tailscale on both devices. Each one should say Connected, with the same account or an accepted invite.
- Check your library is running. The icon should be in the menubar or tray, or the container should be up.
- Check Share on this network in the icon’s menu, on a Mac or PC.
- Check the address. It starts with
http://, nothttps://, and ends with the colon and port.
Questions are welcome on Reddit or GitHub Issues.