# Setup

## 1. Writing configurations

First write your configuration files whereever you want. The AUR package uses
`/etc/jellything.yaml`.

```yaml
# This hostname must be identical to how other instances reach you.
hostname: example.org
brand: "Jellything"
slogan: ""
admin_username: admin

# All of these paths can be customized. See "Paths"
media_path: "/srv/media"
asset_path: "/var/lib/jellything/assets"
database_path: "/var/lib/jellything/db"
temp_path: "/tmp/jellything"
cache_path: "/var/cache/jellything"
secrets_path: "/etc/jellysecrets.yaml" # points to the file below
```

```yaml
# jellysecrets.yaml; filled with placeholders
admin_password: "xxxxxx"

# Both these keys should be initialized randomly.
# Use `head -c 32 /dev/random | base64`
cookie_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="
session_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx="

# Credentials for remote instances. Keep this empty if you are just starting.
federation:
  "example.org": { username: "examplefed", password: "xxxxxxx" }

api:
  fanart_tv: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  tmdb: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  omdb: xxxxxxxx
  # This is the Trakt Application `client_id`
  trakt: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  tvdb: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

## 2. Creating required directories

Next create directories in place of `cache_path`, `temp_path`, `media_path`. if
jellything is not permitted to do so itself. Also obtain the default assets from
the jellything-assets repo.

```sh
mkdir -p $cache_path $temp_path $media_path
git clone https://codeberg.org/metamuffin/jellything-assets.git $asset_path
```

## 3. Preparing your first import

In _library\_path_, create files like below. This file provides an entry point
to your library. Its exact meaning is described in
[The Import Guide](../import/README.md).

Next place your favorite movies in _media\_path_ and use the import helper to
quickly generate import instructions for it. This requires at least Trakt and
TMDB keys to work.

```sh
# Jellytool will show an interactive wizard to select the correct metadata source.
# The files will be renamed to include the Trakt id in the name.
jellytool add big-buck-bunny.mkv
jellytool add agent-327-operation-barbershop.mkv
jellytool add spring.mkv
```
