aboutsummaryrefslogtreecommitdiff
path: root/doc/getting-started/setup.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/getting-started/setup.md')
-rw-r--r--doc/getting-started/setup.md96
1 files changed, 96 insertions, 0 deletions
diff --git a/doc/getting-started/setup.md b/doc/getting-started/setup.md
new file mode 100644
index 0000000..24182fc
--- /dev/null
+++ b/doc/getting-started/setup.md
@@ -0,0 +1,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
+```