name: Manage Jellyfin Playlists on: workflow_dispatch: schedule: - cron: '0 * * * *' jobs: run-python: runs-on: [self-hosted, home-server] steps: - name: checkout repo working-directory: /home/gitea-runner/infrastructure run: | if [ -d "infrastructure" ]; then cd infrastructure echo "Infrastructure folder exists. Resetting to the most recent commit." git reset --hard HEAD git pull https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} $(git rev-parse --abbrev-ref HEAD) else git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git fi - name: Run Python script env: JELLYFIN_USER: ${{ secrets.JELLYFIN_USER }} JELLYFIN_PASSWORD: ${{ secrets.JELLYFIN_PASSWORD }} working-directory: /home/gitea-runner/infrastructure/infrastructure run: | docker build -t jellyfin_management -f jellyfin/Dockerfile . docker run --rm \ -e JELLYFIN_USER=$JELLYFIN_USER \ -e JELLYFIN_PASSWORD=$JELLYFIN_PASSWORD \ jellyfin_management \ -m jellyfin.update_all_songs_playlist docker run --rm \ -e JELLYFIN_USER=$JELLYFIN_USER \ -e JELLYFIN_PASSWORD=$JELLYFIN_PASSWORD \ jellyfin_management \ -m jellyfin.update_unindexed