mirror of
https://github.com/fallenbagel/jellyseerr.git
synced 2025-12-24 02:39:18 -05:00
62 lines
3.5 KiB
Plaintext
62 lines
3.5 KiB
Plaintext
---
|
|
title: Configuring the Database (Advanced)
|
|
description: Configure the database for Jellyseerr
|
|
sidebar_position: 2
|
|
---
|
|
# Configuring the Database
|
|
|
|
Jellyseerr supports SQLite and PostgreSQL. The database connection can be configured using the following environment variables:
|
|
|
|
## SQLite Options
|
|
|
|
```dotenv
|
|
DB_TYPE="sqlite" # Which DB engine to use, either "sqlite" or "postgres". The default is "sqlite".
|
|
CONFIG_DIRECTORY="config" # (optional) The path to the config directory where the db file is stored. The default is "config".
|
|
DB_LOG_QUERIES="false" # (optional) Whether to log the DB queries for debugging. The default is "false".
|
|
```
|
|
|
|
## PostgreSQL Options
|
|
|
|
```dotenv
|
|
DB_TYPE="postgres" # Which DB engine to use, either "sqlite" or "postgres". The default is "sqlite". To use postgres, this needs to be set to "postgres"
|
|
DB_HOST="localhost" # (optional) The host (url) of the database. The default is "localhost".
|
|
DB_PORT="5432" # (optional) The port to connect to. The default is "5432".
|
|
DB_USER= # (required) Username used to connect to the database
|
|
DB_PASS= # (required) Password of the user used to connect to the database
|
|
DB_NAME="jellyseerr" # (optional) The name of the database to connect to. The default is "jellyseerr".
|
|
DB_LOG_QUERIES="false" # (optional) Whether to log the DB queries for debugging. The default is "false".
|
|
```
|
|
|
|
### SSL configuration
|
|
The following options can be used to further configure ssl. Certificates can be provided as a string or a file path, with the string version taking precedence.
|
|
|
|
```dotenv
|
|
DB_USE_SSL="false" # (optional) Whether to enable ssl for database connection. This must be "true" to use the other ssl options. The default is "false".
|
|
DB_SSL_REJECT_UNAUTHORIZED="true" # (optional) Whether to reject ssl connections with unverifiable certificates i.e. self-signed certificates without providing the below settings. The default is "true".
|
|
DB_SSL_CA= # (optional) The CA certificate to verify the connection, provided as a string. The default is "".
|
|
DB_SSL_CA_FILE= # (optional) The path to a CA certificate to verify the connection. The default is "".
|
|
DB_SSL_KEY= # (optional) The private key for the connection in PEM format, provided as a string. The default is "".
|
|
DB_SSL_KEY_FILE= # (optinal) Path to the private key for the connection in PEM format. The default is "".
|
|
DB_SSL_CERT= # (optional) Certificate chain in pem format for the private key, provided as a string. The default is "".
|
|
DB_SSL_CERT_FILE= # (optional) Path to certificate chain in pem format for the private key. The default is "".
|
|
```
|
|
|
|
### Migrating from SQLite to PostgreSQL
|
|
|
|
1. Set up your PostgreSQL database and configure Jellyseerr to use it
|
|
2. Run Jellyseerr to create the tables in the PostgreSQL database
|
|
3. Stop Jellyseerr
|
|
4. Run the following command to export the data from the SQLite database and import it into the PostgreSQL database:
|
|
:::info
|
|
Edit the postgres connection string to match your setup
|
|
|
|
If you don't have or don't want to use docker, you can build the working pgloader version [in this PR](https://github.com/dimitri/pgloader/pull/1531) from source and use the same options as below.
|
|
:::
|
|
:::caution
|
|
The most recent release of pgloader has an issue quoting the table columns. Use the version in the docker container to avoid this issue.
|
|
:::
|
|
```bash
|
|
docker run --rm -v config/db.sqlite3:/db.sqlite3:ro ghcr.io/ralgar/pgloader:pr-1531 pgloader --with "quote identifiers" --with "data only" /db.sqlite3 postgresql://{{DB_USER}}:{{DB_PASS}}@{{DB_HOST}}:{{DB_PORT}}/{{DB_NAME}}
|
|
```
|
|
5. Start Jellyseerr
|