Skip to content

Commit 172634b

Browse files
committed
migrate all pages
1 parent 8c27316 commit 172634b

File tree

11 files changed

+978
-3
lines changed

11 files changed

+978
-3
lines changed

app/docs/layout.tsx

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,28 @@ const tree: PageTree.Root = {
77
name: 'docs',
88
children: [
99
{ name: 'Contribute to Wiki', url: '/docs/contribute', type: 'page' },
10-
{ name: 'Services', type: 'separator' },
11-
{ name: 'Content', url: '/docs/services/content', type: 'page' },
12-
{ name: 'Downloaders', url: '/docs/services/downloaders', type: 'page' },
10+
{
11+
name: 'Frontend',
12+
type: 'folder',
13+
children: [
14+
{ name: 'Item Page', url: '/docs/frontend/item-page', type: 'page' },
15+
],
16+
},
17+
{
18+
name: 'Services',
19+
type: 'folder',
20+
children: [
21+
{ name: 'Overview', url: '/docs/services', type: 'page' },
22+
{ name: 'Content Services', url: '/docs/services/content', type: 'page' },
23+
{ name: 'Downloaders', url: '/docs/services/downloaders', type: 'page' },
24+
{ name: 'Scrapers', url: '/docs/services/scrapers', type: 'page' },
25+
{ name: 'Subtitles', url: '/docs/services/subtitles', type: 'page' },
26+
{ name: 'Symlink', url: '/docs/services/symlink', type: 'page' },
27+
{ name: 'Updaters', url: '/docs/services/updaters', type: 'page' },
28+
{ name: 'Notifications', url: '/docs/services/notifications', type: 'page' },
29+
{ name: 'Management Commands', url: '/docs/services/extras', type: 'page' },
30+
],
31+
},
1332
]
1433
}
1534

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
title: The Item Page
3+
description: A guide to the features found on the single item page
4+
---
5+
6+
# The Item Page
7+
8+
This is a guide to the features found on the single item page. This page
9+
displays an item that you browsed or added to your library.
10+
11+
![A screenshot of the item page](/images/frontend/item_page.png)
12+
13+
## Manually adding torrents
14+
15+
Torrents can be manually added in one of two ways:
16+
17+
- Replacing the torrent of an already existing item in the library using a magnet link
18+
- Replacing or adding a torrent using the "Scrape" button
19+
20+
### Using the "Scrape" button
21+
22+
Upon clicking this button the item will be scraped using the configured scraping services. A dialog
23+
will pop up that shows the user the available torrents. The user can add a torrent using the "+" button
24+
on the right-hand side of each row.
25+
26+
Each row also displays the rank from the [RTN](https://github.com/dreulavelle/rank-torrent-name) package that Riven uses
27+
to rank the torrents. It uses the ranking settings the user configured on the backend.
28+
29+
![The scraping dialog](/images/frontend/scrape_dialog.png)
30+
31+
If the torrent is cached on a downloader service, the dialog will close and a success message will be displayed
32+
on the bottom right corner of the screen. If the item hasn't yet been added to the library, it will be indexed and added.
33+
Otherwise, the current torrent for the item will be replaced and newly symlinked.
34+
35+
There is also a chance the torrent isn't cached on a downloader service. Then the program will display an error message
36+
and the dialog will stay open.
37+
38+
### Using the "Replace torrent" button
39+
40+
This option can only be accessed on an item that was already added to the user's library. You can access the sidebar
41+
by clicking the "Manage" button on the main page.
42+
43+
If the item is a show, a dropdown will be shown where the user can select which season/episode they want to replace
44+
with the torrent. Otherwise, only the magnet text box will be shown. The same principles that were discussed in
45+
the "Using the Scrape button" apply to when the torrent will be actually added to the item.
46+
47+
![Replace torrent](/images/frontend/replace_torrent.png)
File renamed without changes.
File renamed without changes.

content/docs/services/extras.mdx

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
---
2+
title: Management Commands
3+
description: Database management and maintenance commands for Riven
4+
---
5+
6+
import { Callout } from "fumadocs-ui/components/callout"
7+
import { Tabs, Tab } from "fumadocs-ui/components/tabs"
8+
9+
# Management Commands
10+
11+
## Resetting the Database
12+
13+
To reset the Postgres database by dropping and recreating the `riven` table, you can use the following commands:
14+
15+
<Callout type="error">
16+
This will cause **all of the data** in your database to be lost. To include metadata, scraped times, and other data that's needed to run Riven.
17+
</Callout>
18+
19+
<Tabs items={['Docker', 'Env Variable', 'Local', 'ElfHosted']}>
20+
<Tab value="Docker">
21+
Make sure you have the postgres container running, and you should `docker stop riven` before running the following commands.
22+
23+
```bash
24+
docker exec -it postgres psql -U postgres -c "DROP DATABASE IF EXISTS riven;"
25+
docker exec -it postgres psql -U postgres -c "CREATE DATABASE riven;"
26+
```
27+
</Tab>
28+
29+
<Tab value="Env Variable">
30+
Set the `HARD_RESET` environment variable to `true` in your `.env` or `docker-compose.yml` file.
31+
32+
```yml
33+
HARD_RESET=true
34+
```
35+
36+
Then, restart Riven. Be sure to set `HARD_RESET` back to `false` after the reset is complete.
37+
</Tab>
38+
39+
<Tab value="Local">
40+
Make sure you have the postgres container running, before running the following commands.
41+
42+
```bash
43+
rm -rf data/alembic/
44+
poetry run python src/main.py --hard_reset_db
45+
```
46+
</Tab>
47+
48+
<Tab value="ElfHosted">
49+
From the Riven backend (via the button on your Dashboard), press <kbd>Ctrl</kbd>+<kbd>C</kbd> **twice** to restart Riven. Once it does, you will see the following instructions:
50+
51+
```
52+
💥 For the option to reset your database, press the X key within 10 seconds...
53+
```
54+
</Tab>
55+
</Tabs>
56+
57+
After the database is reset, upon restarting Riven, we will load back in the symlinks and re-index your library.
58+
59+
---
60+
61+
## Resetting the Subtitles Database
62+
63+
To reset the Subtitles database by deleting the `subliminal.dbm*` files, you can use the following command:
64+
65+
<Tabs items={['Self-Hosted', 'ElfHosted']}>
66+
<Tab value="Self-Hosted">
67+
```bash
68+
rm -r data/subliminal.dbm*
69+
```
70+
71+
This needs to point to the `data` directory that the `settings.json` file is located in.
72+
</Tab>
73+
74+
<Tab value="ElfHosted">
75+
Navigate to `config/riven` in FileBrowser, and delete all the `subliminal.dbm` files 👍
76+
</Tab>
77+
</Tabs>
78+
79+
<Callout type="warn">
80+
This will delete all of your Subtitles database files, and you will lose all your Subtitles.
81+
</Callout>
82+
83+
<Callout>
84+
This is not necessary and only needed if you're experiencing issues with the Subtitles specifically.
85+
</Callout>
86+
87+
---
88+
89+
## Trigger Symlink Repair
90+
91+
To trigger a symlink repair, you can use one of the following methods:
92+
93+
<Tabs items={['Local', 'Env Variable']}>
94+
<Tab value="Local">
95+
```bash
96+
poetry run python ./src/main.py --fix_symlinks
97+
```
98+
</Tab>
99+
100+
<Tab value="Env Variable">
101+
Set the `FIX_SYMLINKS` environment variable to `true` in your `.env` file.
102+
103+
```yml
104+
FIX_SYMLINKS=true
105+
```
106+
107+
Then, restart Riven. Be sure to set `FIX_SYMLINKS` back to `false` after the repair is complete.
108+
</Tab>
109+
</Tabs>
110+
111+
Alternatively, you can also set the symlink repair option from the Riven settings, and just lower the interval to 1 hour.

content/docs/services/index.mdx

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
title: Services Overview
3+
description: Overview of all services available in Riven Media
4+
---
5+
6+
# Services Overview
7+
8+
Riven Media offers a variety of services to help you manage and enhance your media library. Below is a brief overview of the services we provide:
9+
10+
<Callout>
11+
**Lists support multiple values**
12+
13+
Some settings have lists that support multiple values. These are noted in the description of the setting.
14+
15+
- Example: `["value1", "value2"]`
16+
</Callout>
17+
18+
---
19+
20+
## Content Services
21+
22+
Our content services help you manage and update your media library with ease. These services include:
23+
24+
- **Overseerr**: A request management and media discovery tool.
25+
- **Plex Watchlist**: Allows you to keep track of your desired media content.
26+
- **Mdblist**: Provides curated lists of media content.
27+
- **Listrr**: Manages movie and show lists.
28+
- **Trakt**: Helps you keep track of what you're watching and discover new content.
29+
30+
For more details, visit the [Content Services](/docs/services/content) page.
31+
32+
---
33+
34+
## Downloaders
35+
36+
Our downloaders assist you in managing and downloading your media content efficiently. The supported downloaders include:
37+
38+
- **Real Debrid**: Provides high-speed downloads and streaming.
39+
- **All Debrid**: Another high-speed downloader and streaming service.
40+
- **Torbox**: Offers high-speed downloads and streaming.
41+
42+
For more details, visit the [Downloaders](/docs/services/downloaders) page.
43+
44+
---
45+
46+
## Scrapers
47+
48+
Our scrapers help you gather metadata and other information for your media content. These tools ensure your media library is well-organized and up-to-date.
49+
50+
For more details, visit the [Scrapers](/docs/services/scrapers) page.
51+
52+
---
53+
54+
## General Services
55+
56+
In addition to the specific services mentioned above, we offer general settings and configurations that apply to all services, ensuring a seamless and customizable experience.
57+
58+
For more details, visit the [General Services](/docs/services) page.

0 commit comments

Comments
 (0)