Skip to content

Commit

Permalink
Wiki Re-Write Part 1
Browse files Browse the repository at this point in the history
This is part 1 of ? in terms of rewriting the wiki to have more information and also be more clear and concise.

There might be some broken pages here and there, but it shouldn't be too many.
  • Loading branch information
DieselTech committed Jan 2, 2025
1 parent 79a314e commit e70c83f
Show file tree
Hide file tree
Showing 40 changed files with 510 additions and 246 deletions.
2 changes: 1 addition & 1 deletion components/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export default function Hero() {
>
<Link
className="bg-neutral-650 dark:hover:bg-neutral-650 hover:border-neutral-450 active:border-neutral-450 dark:active:border-neutral-450 dark:hover:border-neutral-450 dark:active:bg-neutral-650 flex cursor-pointer items-center rounded-md border border-neutral-500 px-3 py-1.5 text-sm font-medium text-neutral-800 transition-all duration-300 hover:bg-neutral-600 hover:text-white focus:outline-none active:bg-neutral-50 active:text-white dark:border-neutral-500 dark:bg-neutral-700 dark:bg-opacity-90 dark:text-neutral-200 dark:shadow-sm dark:hover:bg-neutral-700 dark:hover:bg-opacity-100 dark:hover:text-white dark:active:text-white dark:active:opacity-90"
href="/installation/getting-started"
href="getting-started"
>
<span>Read Documentation</span>
</Link>
Expand Down
2 changes: 1 addition & 1 deletion components/NavBar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const docLinks = [
newWindow: true,
}, */
{
href: '/installation/getting-started',
href: '/getting-started',
route: 'installation',
title: 'Installation',
type: 'page',
Expand Down
12 changes: 12 additions & 0 deletions components/Youtube.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
export default function YouTube ({ id } : { id : string }){
return (
<div>
<iframe
className="aspect-video w-full"
src={"https://www.youtube.com/embed/" + id}
title="YouTube Video Player"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
></iframe>
</div>
);
};
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@fortawesome/free-regular-svg-icons": "^6.5.1",
"@fortawesome/free-solid-svg-icons": "^6.5.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"@icons-pack/react-simple-icons": "^9.1.0",
"@icons-pack/react-simple-icons": "^9.7.0",
"clsx": "2.1.0",
"framer-motion": "^10.18.0",
"next": "^15.0.3",
Expand Down
1 change: 1 addition & 0 deletions pages/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export default {
"moved": {
"display": "hidden"
},
"getting-started": "Getting Started",
"installation": "Installation",
"guides": "Guides",
"troubleshooting": "Troubleshooting",
Expand Down
50 changes: 50 additions & 0 deletions pages/getting-started.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { Callout, Card, Cards } from 'nextra/components'
import Image from 'next/image'
import { SiGnomeTerminal, SiDocker, SiGoogleCloudStorage } from '@icons-pack/react-simple-icons'

## What is Kavita?
Kavita is an open-source, self-hosted digital library management system primarily designed for managing and reading comics, manga, and ebooks. It is built to provide a streamlined and user-friendly experience for organizing and accessing a personal collection of digital reading materials.

### Core Features

- **[Library Management](guides/admin-settings/libraries/)**: Organize your digital reading materials into a library with custom tags and filters.
- **Synchronized Reading**: Read your digital materials directly in your browser with a customizable reading experience.
- **[Custom Filters](guides/features/filtering/)**: Create custom filters to organize your library based on your own criteria.
- **[User Management](guides/admin-settings/users/)**: Create multiple users with different permissions to access your library, each with their own progress tracking.


## System Requirements

Kavita is built with Microsoft [.NET 8.0](https://dotnet.microsoft.com/en-us/) and [Angular 18](https://v18.angular.dev/). Each of these technologies have their own requirements, but most modern systems should be fine.

- [.NET Framework requirements](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md)
- [Angular requirements](https://v18.angular.dev/reference/versions#browser-support)

All Kavita builds are fully self-contained. This means there is no prerequisite software needed.

Users have reported running the app on as little as a single-core 1Ghz CPU and 256MB RAM.

The only requirement Kavita has is the need for a CPU that supports SSE4.2 extensions. This is because of the upstream library `NetVIPS`. [See the FAQ](../troubleshooting/faq.mdx#q-what-is-the-netvips-dependency-and-what-does-it-mean-if-i-cant-run-it) for how to work around it.

## Demo

If you want to try out a demo of Kavita first before installing, you can find it at [https://demo.kavitareader.com/](https://demo.kavitareader.com/login?apiKey=9003cf99-9213-4206-a787-af2fe4cc5f1f).

## Installation methods

There are a few ways to get setup running Kavita depending on what environment you have:

<Cards>
<Cards.Card
title="Native Binary"
href="/installation/native"
/>
<Cards.Card
title="Install With Docker"
href="/installation/docker"
/>
<Cards.Card
title="Install On NAS"
href="/installation/nas"
/>
</Cards>
2 changes: 1 addition & 1 deletion pages/guides/3rdparty/mylar.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { Callout } from 'nextra/components'

<Callout type="info">
This guide was written for Mylar3 v0.7.8
This guide was written for Mylar3 v0.8.0
</Callout>

## Settings
Expand Down
1 change: 0 additions & 1 deletion pages/guides/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,5 @@ export default {
"readers": "Readers",
"themes": "Custom Themes",
"scanner": "Library Scanner",
"opds": "OPDS",
"api": "API"
}
7 changes: 4 additions & 3 deletions pages/guides/admin-settings/_meta.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
export default {
"general": "General",
"users": "Users",
"libraries": "Libraries",
"media": "Media",
"email": "Email",
"users": "Users",
"libraries": "Libraries",
"tasks": "Tasks",
"statistics": "Statistics",
"system": "System",
"statistics": "Statistics",
"mediaissues": "Media Issues",
"kavita+": "Kavita+"
}
18 changes: 5 additions & 13 deletions pages/guides/admin-settings/email.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,21 @@ import { Callout } from 'nextra/components'
![Email](../../../public/guides/admin-settings/admin-settings-email.png "Email page in Admin Settings")
In this tab, you can configure the email service Kavita uses for Send To device, User registration, and Forgot Password.

<Callout type="warning" emoji="">
As of version 0.7.13.0 Kavita no longer sends emails using the built-in account.
</Callout>

<Callout type="info" emoji="">
You no longer need to use the Kavita-Email external program. This functionality has been built directly into Kavita.
</Callout>

You need to configure an email server to use the Invite by email, forget password and send to device functionality.

### Shutdown of built-in emailer

With the release of 0.8.0 stable on 4/14/24, the emailer built into Kavita was shut down. This functionality still exists and can be used, it will just require the user to set up their email account inside Kavita.

### Migrating from Kavita-Email
To use the new email server built into the main application of Kavita going forward you can just transfer your settings from Kavita-Email.

These are the same exact settings you were using already, just not built-in.
These are the same exact settings you were using already.

## App passwords
Some email providers now are requiring app passwords for third-party applications to send emails.

### Gmail users
You'll need to set up an "App Password" to use the email service with your existing email account.

[How to create a Gmail app password](https://support.google.com/accounts/answer/185833?hl=en)

### Office 365 users
Information on app passwords is located [here:](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9)
[How to create a O365 app password](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9)
94 changes: 59 additions & 35 deletions pages/guides/admin-settings/general.mdx
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { Callout } from 'nextra/components'

# General Tab
# Server Settings - General

![General](../../../public/guides/admin-settings/admin-settings-general.png "General Settings Page")
## Networking Section

## Host Name
![Networking](../../../public/guides/admin-settings/admin-settings-general-networking.png "General Settings Page")

If you are using a reverse proxy with Kavita, you can set this field so that Kavita uses your domain name. This will show up in the user's OPDS URL pages and any emails your server sends out if configured to do so.
### Host Name

## Base URL
If you are using a reverse proxy with Kavita, you can set this field so that Kavita uses your domain name. This will show up in the user's OPDS URL pages and any emails your server sends out, if configured to do so.

### Base URL

<Callout type="info" emoji="ℹ️">
This setting can not be changed if you are running the docker image as a non-root user.
Expand All @@ -22,7 +24,13 @@ Use this if you want to host Kavita in a sub-folder. Most commonly used in sub-f
Example: <br/>
Setting the base URL to `/kavita/` would then make your URL to access the service: `http://[yourip]:[port]/kavita/`

## Port
### IP Address

This is the IP address that Kavita will bind to. By default, Kavita will bind to all available IP addresses. If you want to bind to a specific IP address, you can set it here.

This setting is disabled on Docker installations. You can control the IP address through the Docker run command or compose file if needed.

### Port

<Callout type="info" emoji="ℹ️">
This setting can not be changed if you are running the docker image as a non-root user.
Expand All @@ -32,64 +40,80 @@ Default: `5000`

Changes to the port require a manual restart of the server to take. Docker users should configure the port through their compose file / run command instead of changing it within Kavita.

## Logging Level
## System Section
![System](../../../public/guides/admin-settings/admin-settings-general-system.png "System Section")

Default: `Information`
### Days of Backups

Default: `30`

The number of days worth of backups to maintain. The minimum is 1, maximum is 30.

### Days of Logs

Default: `30`

The number of days worth of logs to maintain. The minimum is 1, maximum is 30.

### Logging Level
For selecting the granularity of the logs. Most commonly used in helping diagnose problems or bugs.

Default: `Information`

<Callout type="warning" emoji="⚠️">
Changing this setting to `Debug` or higher can consume a large amount of disk space on an active server. Only change the log level if asked by support staff!
</Callout>

## Days of Backups
### Cache Size

Default: `30`
Default: `75`

The number of backups to maintain. The minimum is 1, maximum is 30.
Amount of RAM to allocate for keeping heavily used API's in memory. Keep in mind that using dynamic filters has a higher chance of not getting cached due to the nature of how they work.

## Cache Size
### OPDS support

Default: `75`
Default: `Enabled`

Amount of RAM to allocate for keeping heavily used API's in memory. Keep in mind that using dynamic filters has a higher chance of not getting cached due to the nature of how they work.
System wide setting to turn on or off OPDS for the entire server. See this [page](../features/opds.mdx) for how it works.

## On Deck Last Progress (days)
### Folder Watching

Default: `30`
Default: `Disabled`

The number of days since last the user has made any reading progress before removing the series from the `On Deck` section.
You can turn on or off the folder monitor system-wide here. Allows Kavita to monitor Library Folders to detect changes without manually invoking scans or waiting for nightly scans.

This only applies to the built-in "On Deck" card. It will not apply to custom filters.
<Callout type="info" emoji="ℹ️">
The folder monitor only triggers once every 10 minutes before processing changes. That means changes won't be instant.
</Callout>

## On Deck Last Chapter Add (days)
### Allow Anonymous Usage Collection

Default: `7`
<Callout type="info" emoji="ℹ️">
The data collection task will only run after 24 hours has passed in order to give you time to opt-out.
</Callout>

An adjustable number of days before removing a series from "On Deck". Setting this to a higher value will prevent the series from falling off with inactivity.
By default, Kavita will collect anonymous usage data to help guide the development team into making decisions around features. This includes information on certain features used, number of files, OS version, Kavita install version, CPU, and memory.

## Anonymous Stats Collection
You can opt out at any time by turning off this setting. All data is anonymized and contains **no information about your filenames or IP**.

By default, Kavita will collect anonymous usage data on your installation. This includes information on certain features used, number of files, OS version, Kavita install version, CPU, and memory. Stats collection will run after 24 hours in order to give you time to opt-out.
The Kavita team actively uses this data to help design the UX and plan enhancements. If you choose to remain opted-in, **thank you** ❤. It greatly helps in the design and planning effort when trying to look for new features to add. You can see exactly what data we collect in the [source code](https://github.com/Kareadita/KavitaStats/tree/main/KavitaStats/Entities/V3).

You can opt out at any time by turning off "Send Data" from the Admin Dashboard. All data is anonymized and contains **no information about your filenames or IP**.
Check the [FAQ](../../troubleshooting/faq.mdx#q-does-kavita-collect-any-data-on-me) to see an example of submitted data.

The Kavita team actively uses this data to help design the UX and plan enhancements. If you choose to remain opted-in, thank you. It helps in the design and planning effort. You can see exactly what data we collect [here](https://github.com/Kareadita/KavitaStats/blob/main/KavitaStats/Entities/StatRecord.cs).

Check the [FAQ](https://wiki.kavitareader.com/en/faq#q-does-kavita-collect-any-data-on-me) to see an example of submitted data.
## Customization Section
![Customization](../../../public/guides/admin-settings/admin-settings-general-customization.png "System Section")

## Enable OPDS support
### On Deck Last Progress (days)

Default: `Enabled`
Default: `30`

You can enable OPDS for your Server here. See this [page](https://wiki.kavitareader.com/en/guides/settings/opds) for how it works.
The number of days since last the user has made any reading progress before removing the series from the `On Deck` section.

## Folder Watching
This only applies to the built-in "On Deck" card. It will not apply to custom filters.

Default: `Disabled`
### On Deck Last Chapter Add (days)

You can turn on or off the folder monitor system-wide here. Allows Kavita to monitor Library Folders to detect changes without manually invoking scans or waiting for nightly scans.
Default: `7`

<Callout type="info" emoji="ℹ️">
The folder monitor only triggers once every 10 minutes before processing changes. That means changes won't be instant.
</Callout>
An adjustable number of days before removing a series from "On Deck". Setting this to a higher value will prevent the series from falling off with inactivity.
21 changes: 2 additions & 19 deletions pages/guides/admin-settings/media.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,8 @@ Options are:
Changing the above settings will NOT retroactively change covers. Once a new setting is picked, use the [convert media to target encoding task](tasks#convert-media-to-target-encoding) for all existing Bookmarks and covers.
</Callout>

#### Bookmarks Directory
### Bookmarks Directory

This setting lets you change where Kavita stores bookmarks the users create. Since making bookmarks saves a copy of the page outside of the initial library, this will take up additional space.

Changing this lets you store the bookmarks in a spot that has access to a larger pool of storage.

#### Media Issues

<Callout type="info" emoji="ℹ️">
This list does not automatically clear. Once you fix the files, press the Clear Alerts button.
</Callout>

Any problems that Kavita detects with your files will show up here.

See [Common Media Issues](../../troubleshooting/media-errors.mdx) for some examples of general problems and how to fix them.

#### Scrobble Issues

Server-wide dashboard of any series that is having problems scrobbling to an external provider. This list will allow you to go directly to a series so you can match it with the properly linked series page with an external provider.

Series usually appear here if they are named wrong and can't match to the provider, or if they just don't exist yet on the provider.

Changing this lets you store the bookmarks in a spot that has access to a larger pool of storage.
17 changes: 17 additions & 0 deletions pages/guides/admin-settings/mediaissues.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { Callout } from 'nextra/components'

### Media Issues

<Callout type="info" emoji="ℹ️">
This list does not automatically clear. Once you fix the files, press the Clear Alerts button.
</Callout>

Any problems that Kavita detects with your files will show up here.

See [Common Media Issues](../../troubleshooting/media-errors.mdx) for some examples of general problems and how to fix them.

#### Scrobble Issues

Server-wide dashboard of any series that is having problems scrobbling to an external provider. This list will allow you to go directly to a series so you can match it with the properly linked series page with an external provider.

Series usually appear here if they are named wrong and can't match to the provider, or if they just don't exist yet on the provider.
Loading

0 comments on commit e70c83f

Please sign in to comment.