Installation - infinityofspace/jellyfin_alexa_skill GitHub Wiki
Before you begin, make sure you meet the following requirements:
- up-to-date Jellyfin Server with public or local access
- free Amazon developer account
- python 3.7+ or docker and docker-compose installed
- server with public access on port 443 with SSL/TLS more precisely a domain (If you have only one local reachable server, you can use common services to tunnel the public request solve this problem. You can find some examples here.)
The initial setup requires several steps:
-
create a Alexa skill:
- go to the Amazon Developer Console webpage for Alexa and create a new skill
- now fill out the skill setup settings:
-
the skill name can be custom, there are no requirements
-
choose one of the supported languages of this skill for the
Primary locale
-
choose
Custom
for the model type -
choose
Provision your own
for the skill's backend resources -
on the next page choose
Start from Scratch
as
-
-
generate SMAPI tokens:
- create a new security profile for the SMAPI access
described here
to get a
CLIENT-ID
andCLIENT-SECRET
- install npm if you have not already installed it and install the ask-cli package:
npm install ask-cli -g
- now setup the ask cli:
ask configure
- use the client id and client secret from step i. to generate the refresh
token:
ask util generate-lwa-tokens --client-id <CLIENT-ID> --client-confirmation <CLIENT-SECRET>
- create a new security profile for the SMAPI access
described here
to get a
Note: The Skill id is needed for the interaction with the Alexa Skill. The SMAPI access is needed for the automatic setup of the skill.
Use this config file and adjust the values which are commented as required
in the config file. Save the
file in a safe place, because the file contains sensitive credentials. Also remember the save path, because the config
file will be used again later. The config must also be writable.
Now you are ready to perform the actual installation and startup, you have two options to use the project:
- use docker [recommend]:
- use the prebuild image:
docker pull ghcr.io/infinityofspace/jellyfin_alexa_skill:latest
- or you can build the image locally by cloning this repo and checkout a desired release version for example
0.3.1
(you can find all releases here):git clone https://github.com/infinityofspace/jellyfin_alexa_skill cd jellyfin_alexa_skill git checkout 0.3.1 docker build -t jellyfin_alexa_skill:latest .
- use the prebuild image:
OR
- with pip:
- install from pypi:
pip3 install jellyfin_alexa_skill
- install from source, clone the repo and checkout a desired release version for example
0.3.1
(you can find all releases here):git clone https://github.com/infinityofspace/jellyfin_alexa_skill cd jellyfin_alexa_skill git checkout 0.3.1 python3 setup.py install
- install from pypi:
Now you are ready to start and use the skill. Go to the usage help page for more information.