Kavita: Your New E-Book and Manga Server

In Video by dbtech

Hey guys! In this video we’re going to take a look at a full-fledged, fast, cross-platform, & open-source manga, comic, and book server called Kavita.

If we take a look at Kavita’s website, we can see that it supports Manga, Comics, and eBooks. It has a search feature and supports all fields from ComicInfo.xml to provide filtering on metadata.

You can manage your users and your library from anywhere as long as you have this set up for remote access via your favorite reverse proxy system.

Kavita has a Built-in Manga/Comic/Image Reader with caching, so your should never feel loading times when reading.

With the built-in book reader, you can Customize your reading experience by controlling, font, spacing, margin, night mode, and taping on edges of screen to navigate pages.

There is a bunch more information about Kavita on their website including a link to a demo server they have set up.

Be sure to check out the link in the description for more information!

If we head over to the Installation Guides on their Wiki, we can see that there are multiple ways to install this and, of course, we’re going to take a look at installing this via Docker.

On the Docker page, they have a Docker CLI command that you can run, or you can use the docker-comopse that we’re going to take a look at.

We’ve got a version 3.9 docker-compose with the service “Kavita” listed.

We’re going to use the latest kavita image from docker and the container name will be kavita. I want to make note that this image will support x86 processors and ARM processors. You can see that over on their hub.docker.com page.

Below that we have some volumes. “manga” “comics” and “books” are all optional and you can name them whatever you’d like as long as you map them appropriately to where your reading media library is located.

For the sake of this demonstration, I’m going to just use an ebook library that I have set up on this server.

The last volume is a bit different as it is no optional. On the left, You’ll want to map a location to where your Kavita config should be stored. Don’t mess wiht anything on the right of the colon.

Be sure to set the timezone to your locale.

Lastly, the ports are set to 5000 on each side of the colon, so be sure to only change the value on the left of the colon if you need to change the port from 5000 to something else.

Once you have your docker-compose configured the way you need it for your setup, you can deploy the container via command line or, as I’m going to do, in Portainer.

You’ll want to give the container a few moments to come up and once it is showing that it’s running/healthy, you can head over to the IP address and port of the container for your docker server.

The first time you attempt to login, You’ll be asked to create an admin account. Go ahead and register the account and then login.

There won’t be anything on the homepage when you login for the first time. Click the “Server Settings” link at the top center of the page.

Then click the “Add Library” button.

Give your new library a name and a type and click Next.

Click “Browse for media folders”

Chances are that you’ll just want to click the folder with the “/” in it to find your mapped library files.

Now I’m going to scroll down almost to the bottom where I’ll find the “books” library that I had mapped in my docker-compose.

Then I’ll click Share.

Now I’ll click the green “Next” button.

You can upload a cover for the library if you’d like, but it’s optional.

Click next and then you can click save.

At this point I recommend scanning your library files with the 2 arrows in a circle button.

You’ll notice a pop up saying that a scan has been started and then the activity icon at the top of the page may flash a bit.

At this point, if we go back to the homepage of the application, we should be able to see our books start to populate on the page.

But let’s go back to our admin dashboard and see what else is there.

Under “General” we can set the URL of the application if we’re using a reverse proxy.

We can also change things like the number of days for backups as well as for logs.

There are toggles for sending anonymized data as well as OPDS data and enabling automatic folder watching.

Under the users tab, you can invite users, but you’ll want to have your app on a domain for that to work properly.

The Library tab allows us to add more libraries as necessary and even edit or delete existing libraries.

The Media tab allows us to decided how we want to save bookmarks and covers.

There is an email tab that we can use to change the email services URL if you want to use the built-in delivery service. If you’d like to use your own SMTP server, you can install a separate “Kavita Email” docker container. I’ll have a link to this in the description. (https://github.com/Kareadita/KavitaEmail)

In the Tasks tab, you can see the ad-hoc tasks you might need to manually run as well as the recurring tasks that are handled by cron jobs.

The statitstics and system tabs both have information that you might want to take a look at for your specific system setup.

If we go to the top right of the page and click our username, we can then click the settings link below that for our account settings.

The account tabe lets us change our email and password. Simple enough.

The Preferences tab lets us change a few user interface options for our own liking.

There are API keys and an OPDS URL under the 3rd Party Clients tab.

If you’ve got multiple themes installed, you can switch between them in the “Themes” tab.

The devices and stats tabs are just that: information about your devices and stats.

Now that we’ve taken a look at the different settings, let’s head back to the home page where we should see our library loaded in by now.

You can get to different areas of the front end of the site via the menu on the left and you can just start clicking books you want to read on the main section of the page on the right.

When you open a book, you’ll get the title, cover, rating (if there is one) as well the author, language, format, lenght, and estimated time to read.

When you click the “Read” Button, you’ll be taken into the book and will have the option to select things like font, font size, letter spacing, and margins.

After that, you can just start reading either on your PC, tablet, phone, or whatever you’d like to use to read your collections! Whatever page you stop reading on will be stored so you can come back later and pick up right where you left off.

Resource Links:

  • https://www.kavitareader.com/
  • https://wiki.kavitareader.com/en/install/docker-install
  • https://hub.docker.com/r/kizaing/kavita
  • https://github.com/Kareadita/Kavita
  • https://github.com/Kareadita/KavitaEmail