Skip to content

Golang service to expose a Plex Playlist using the Plex API.

License

Notifications You must be signed in to change notification settings

derezzolution/plex-playlister

Repository files navigation

plex-playlister

Golang service to expose a Plex Playlist using the Plex API.

Screenshot

Usage

Important

Please remember to set the keyCacheSalt field in the config. Without this, a default random salt will be used and the checkbox state will not be accurately persisteded in local storage. Every service restart will result in a new salt and, thus, a new checkbox ID.

  1. Copy config.json.template to config.json and populate with your specifics
  2. Run with go run . to test your config locally

Build and Package

  1. Build with ./scripts/build.sh
  2. Package with ./scripts/package.sh

Deploy (general Linux distro)

  1. Copy the package to your server (e.g. scp plex-playlister.tar.gz my-server:/opt/)

  2. Connect to server (e.g. ssh my-server)

  3. Change to the deploy directory (e.g. cd /opt)

  4. Unpack the archive (e.g. tar xvf plex-playlister.tar.gz)

  5. Create a systemd config (e.g. vi /etc/systemd/system/plex-playlister.service)

    # Make sure to enable this Unit so it comes up on reboot with
    # `systemctl enable plex-playlister`
    
    [Unit]
    Description=plex-playlister
    After=network.target
    
    [Service]
    User=www-data
    Environment=GO_ENV=production
    TimeoutStartSec=0
    WorkingDirectory=/opt/plex-playlister
    ExecStart=/opt/plex-playlister/plex-playlister
    Restart=always
    RestartSec=1
    
    [Install]
    WantedBy=multi-user.target
    
  6. Execute daemon reload (e.g. systemctl daemon-reload)

  7. Start the plex-playlister service (e.g. systemctl start plex-playlister) and smoke test

  8. Enable the plex-playlister service at boot (e.g. systemctl enable plex-playlister)

Dev Notes

About

Golang service to expose a Plex Playlist using the Plex API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published