Skip to content

ScreenlyManager provides a command-line interface for working with the Screenly OSE API

License

Notifications You must be signed in to change notification settings

MCLD/ScreenlyManager

Repository files navigation

ScreenlyManager

ScreenlyManager is a cross-platform commandline program written using .NET Core 2.2 to facilitate management of Screenly OSE installations.

The latest release is Version 1.0.1.

Current features:

  • Uses Screenly OSE API v1 to support most installations.
  • List all of the expiration date and names of slides on a particular installation.
  • List all of the expiration date and names of slides older than a certain number of days.
  • Remove all slides older than a certain number of days.
  • Support using the password protection feature via HTTP Basic authentication (note: not encrypted if you aren't using TLS!)
  • Can be provided with a list of IP addresses or hostnames or a single IP address or hostname.
  • Settings can be specified on the commandline or via environment variables (so it can be run in Docker).

Use

Command line

  • ScreenlyManager.exe -h - Show help information.
  • ScreenlyManager.exe -v - Show the current application version.
  • ScreenlyManager.exe -a:10.0.0.23 - List all assets on the Screenly OSE instance listening at 10.0.0.23.
  • ScreenlyManager.exe -a:10.0.0.23 -u:dan -p:koala - List all assets using login "dan" and password "koala".
  • ScreenlyManager.exe -ls:30 - Prompt for IP addresses/host names and list slides that are 30 days or more expired.
  • ScreenlyManager.exe -a:10.0.0.23,10.0.0.42 -rm:30 - Remove all slides that are 30 days or more expired on the two listed instances.

Environment variables

  • SCREENLY_ADDRESS - same as the -a option: a single or comma-separated list of IP addresses or hostnames.
  • SCREENLY_API - URL to the Screenly OSE API to use with {0} in place of the host name, defaults to http://{0}/api/v1/assets.
  • SCREENLY_USER - same as the -u option: a username to use for password-protected installations.
  • SCREENLY_PASSWORD - same as the -p option: a password to go with the username for password-protected installations.
  • SCREENLY_LIST - same as the -ls option: an integer number of days to check for expired slides.
  • SCREENLY_REMOVE - same as the -rm option: an integer number of days to remove expired slides.

Docker

If you already have a server environment running Docker, it may be easier to use ScreenlyManager through a Docker image. Here are some sample commands:

  • docker run --rm -e SCREENLY_ADDRESS=10.0.0.23,10.0.0.42 mcld/screenlymanager - List all assets on the Screenly OSE instances listening at 10.0.0.23 and 10.0.0.42.
  • docker run --rm -e SCREENLY_ADDRESS=10.0.0.23 -e SCREENLY_REMOVE=30 mcld/screenlymanager - Remove all slides that are 30 days or more expired on the Screenly OSE instance listening at 10.0.0.23.
  • docker run --rm --env-file screenly.env mcld/screenlymanager - Run ScreenlyManager using the configuration specified in the screenly.env Docker environment file.
  • docker rmi mcld/screenlymanager:latest && docker pull mcld/screenlymanager:latest - Upgrade to the latest Docker image of ScreenlyManager.

License

ScreenlyManager source code is Copyright 2019 by the Maricopa County Library District and is distributed under The MIT License.

About

ScreenlyManager provides a command-line interface for working with the Screenly OSE API

Resources

License

Stars

Watchers

Forks

Packages

No packages published