aboutsummaryrefslogtreecommitdiff
path: root/doc/getting-started/setup.md
blob: 24182fc512ea8f318266d84283ecf3be81a4b6b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# 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: ""

# 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"
library_path: "/var/lib/jellything/library"
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`,
`library_path` if jellything is not permitted to do so itself. Also obtain the
default assets from git.

```sh
mkdir -p $cache_path $temp_path $media_path $library_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).

```yaml
# root.yaml
id: library
sources:
  - !override
    public:
      kind: !collection
      title: "My Library"
      children:
        - movies
```

```yaml
# movies/directory.yaml
id: movies
sources:
  - !override
    public:
      kind: !collection
      title: "Movies"
  - !auto_children
```

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
# This should be run from media_path since the path in -m is relative to that no matter PWD.
# Jellytool will show an interactive wizard to select the correct metadata.
jellytool add -m big-buck-bunny.mkv
jellytool add -m agent-327-operation-barbershop.mkv
jellytool add -m spring.mkv
```