Installation - infinityofspace/jellyfin_alexa_skill GitHub Wiki

Installation

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:

  1. create a Alexa skill:

    1. go to the Amazon Developer Console webpage for Alexa and create a new skill
    2. now fill out the skill setup settings:
      1. the skill name can be custom, there are no requirements

      2. choose one of the supported languages of this skill for the Primary locale

      3. choose Custom for the model type

      4. choose Provision your own for the skill's backend resources

      5. on the next page choose Start from Scratch as

  2. generate SMAPI tokens:

    1. create a new security profile for the SMAPI access described here to get a CLIENT-ID and CLIENT-SECRET
    2. install npm if you have not already installed it and install the ask-cli package: npm install ask-cli -g
    3. now setup the ask cli: ask configure
    4. 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>

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:

  1. 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 .
      

OR

  1. 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
      

Now you are ready to start and use the skill. Go to the usage help page for more information.

⚠️ **GitHub.com Fallback** ⚠️