# vi: ft=sh # shellcheck disable=SC2034 # THIS IS V5 .ENV ; IF YOU ARE ON V4 PLEASE LOOK AT THE .ENV HERE: https://github.com/zoriya/Kyoo/blob/v4.7.1/.env.example # Useful config options # Library root can either be an absolute path or a relative path to your docker-compose.yml file. LIBRARY_ROOT=./video # You should set this to a path where kyoo can write large amount of data, this is used as a cache by the transcoder. # It will automatically be cleaned up on kyoo's startup/shutdown/runtime. CACHE_ROOT=/tmp/kyoo_cache # A pattern (regex) to ignore files. LIBRARY_IGNORE_PATTERN=".*/[dD]ownloads?/.*" # Hardware transcoding (equivalent of --profile docker compose option). COMPOSE_PROFILES=cpu # cpu (no hardware acceleration) or vaapi or qsv or nvidia # the preset used during transcode. faster means worst quality, you can probably use a slower preset with hwaccels # warning: using vaapi hwaccel disable presets (they are not supported). GOCODER_PRESET=fast # Keep those empty to use kyoo's default api key. You can also specify a custom API key if you want. # go to https://www.themoviedb.org/settings/api and copy the read access token (not the api key) THEMOVIEDB_API_ACCESS_TOKEN="" # go to https://thetvdb.com/api-information/signup and copy the api key TVDB_APIKEY= # you can also input your subscriber's pin to support TVDB TVDB_PIN= # The url you can use to reach your kyoo instance. This is used during oidc to redirect users to your instance. PUBLIC_URL=http://localhost:8901 # Default permissions of new users. They are able to browse & play videos. # Set `verified` to true if you don't wanna manually verify users. EXTRA_CLAIMS='{"permissions": ["core.read", "core.play"], "verified": false}' # This is the permissions of the first user (aka the first user is admin) FIRST_USER_CLAIMS='{"permissions": ["users.read", "users.write", "apikeys.read", "apikeys.write", "users.delete", "core.read", "core.write", "core.play", "scanner.trigger"], "verified": true}' # Guest (meaning unlogged in users) can be: # unauthorized (they need to connect before doing anything) # GUEST_CLAIMS="" # able to browse & see what you have but not able to play GUEST_CLAIMS='{"permissions": ["core.read"], "verified": true}' # or have browse & play permissions GUEST_CLAIMS='{"permissions": ["core.read", "core.play"], "verified": true}' # DO NOT change this. PROTECTED_CLAIMS="permissions,verified" # You can create apikeys at runtime via POST /keys but you can also have some defined in the env. # Replace $YOURNAME with the name of the key you want (only alpha are valid) # The value will be the apikey (max 128 bytes) KEIBI_APIKEY_SCANNER=EJqUB8robwKwLNt37SuHqdcsNGrtwpfYxeExfiAbokpxZVd4WctWr7gnSZ KEIBI_APIKEY_SCANNER_CLAIMS='{"permissions": ["core.read", "core.write"]}' # To debug the front end, you can set the following to an external backend KYOO_URL= OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317" OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf" # It is recommended to use the below PG environment variables when possible. # POSTGRES_URL=postgres://user:password@hostname:port/dbname?sslmode=verify-full&sslrootcert=/path/to/server.crt&sslcert=/path/to/client.crt&sslkey=/path/to/client.key # The behavior of the below variables match what is documented here: # https://www.postgresql.org/docs/current/libpq-envars.html PGUSER=kyoo PGPASSWORD=password PGDATABASE=kyoo PGHOST=postgres PGPORT=5432 # PGOPTIONS=-c search_path=kyoo,public # PGPASSFILE=/my/password # Takes precedence over PGPASSWORD. New line characters are not trimmed. # PGSSLMODE=verify-full # PGSSLROOTCERT=/my/serving.crt # PGSSLCERT=/my/client.crt # PGSSLKEY=/my/client.key=password