* Moved the Server Settings out into a button on nav header * Refactored Mange Users page to the new design (skeleton). Implemented skeleton code for Invite User. * Hashed out more of the code, but need to move all the email code to a Kavita controlled API server due to password credentials. * Cleaned up some warnings * When no user exists for an api key in Plugin controller, throw 401. * Hooked in the ability to check if the Kavita instance can be accessed externally so we can determine if the user can invite or not. * Hooked up some logic if the user's server isn't accessible, then default to old flow * Basic flow is working for confirm email. Needs validation, error handling, etc. * Refactored Password validation to account service * Cleaned up the code in confirm-email to work much better. * Refactored the login page to have a container functionality, so we can reuse the styles on multiple pages (registration pages). Hooked up the code for confirm email. * Messy code, but making progress. Refactored Register to be used only for first time user registration. Added a new register component to handle first time flow only. * Invite works much better, still needs a bit of work for non-accessible server setup. Started work on underlying manage users page to meet new design. * Changed (you) to a star to indicate who you're logged in as. * Inviting a user is now working and tested fully. * Removed the register member component as we now have invite and confirm components. * Editing a user is now working. Username change and Role/Library access from within one screen. Email changing is on hold. * Cleaned up code for edit user and disabled email field for now. * Cleaned up the code to indicate changing a user's email is not possible. * Implemented a migration for existing accounts so they can validate their emails and still login. * Change url for email server * Implemented the ability to resend an email confirmation code (or regenerate for non accessible servers). Fixed an overflow on the confirm dialog. * Took care of some code cleanup * Removed 3 db calls from cover refresh and some misc cleanup * Fixed a broken test
Kavita
Kavita is a fast, feature rich, cross platform reading server. Built with a focus for manga, and the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family!
Goals
- Serve up Manga/Webtoons/Comics (cbr, cbz, zip/rar, 7zip, raw images) and Books (epub, pdf)
- First class responsive readers that work great on any device (phone, tablet, desktop)
- Dark and Light themes
- Provide hooks into metadata providers to fetch metadata for Comics, Manga, and Books
- Metadata should allow for collections, want to read integration from 3rd party services, genres.
- Ability to manage users, access, and ratings
- Ability to sync ratings and reviews to external services
- Fully Accessible with active accessibility audits
- Dedicated webtoon reading mode
- And so much more...
Support
Demo
If you want to try out Kavita, we have a demo up: https://demo.kavitareader.com/
Username: demouser
Password: Demouser64
Setup
Non-Docker
- Unzip the archive for your target OS
- Place in a directory that is writable. If on windows, do not place in Program Files
- Linux users must ensure the directory & kavita.db is writable by Kavita (might require starting server once)
- Run Kavita
- If you are updating, copy everything over into install location. All Kavita data is stored in config/, so nothing will be overwritten.
- Open localhost:5000 and setup your account and libraries in the UI.
Docker
Running your Kavita server in docker is super easy! Barely an inconvenience. You can run it with this command:
docker run --name kavita -p 5000:5000 \
-v /your/manga/directory:/manga \
-v /kavita/data/directory:/kavita/config \
--restart unless-stopped \
-d kizaing/kavita:latest
You can also run it via the docker-compose file:
version: '3'
services:
kavita:
image: kizaing/kavita:latest
container_name: kavita
volumes:
- ./manga:/manga
- ./config:/kavita/config
ports:
- "5000:5000"
restart: unless-stopped
Note: Kavita is under heavy development and is being updated all the time, so the tag for current builds is :nightly
. The :latest
tag will be the latest stable release.
Feature Requests
Got a great idea? Throw it up on our Feature Request site or vote on another idea. Please check the Project Board first for a list of planned features.
Contributors
This project exists thanks to all the people who contribute. Contribute.
Donate
If you like Kavita, have gotten good use out of it or feel like you want to say thanks with a few bucks, feel free to donate. Money will go towards expenses related to Kavita. Back us through OpenCollective. You can also use Paypal, however your name will not show below.
Backers
Thank you to all our backers! 🙏 Become a backer
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor
Mega Sponsors
JetBrains
Thank you to JetBrains for providing us with free licenses to their great tools.
License
- GNU GPL v3
- Copyright 2020-2021