Skip to content

ddeville/plexmoviepicker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plex Movie Picker

A small Flask and React app that picks a random movie from a Plex library.

The project builds into one container. The Docker build compiles the React frontend, copies the static assets into the Python image, and runs the Flask app with Gunicorn.

Runtime configuration:

  • PLEX_LOCATION: Plex server URL
  • PLEX_AUTH_TOKEN: Plex authentication token (X-Plex-Token)

Image

docker login ghcr.io -u ddeville
make push

This builds and pushes ghcr.io/ddeville/plexmoviepicker:<appVersion>. Override the tag with VERSION=....

Kubernetes

The Helm chart is in charts/plexmoviepicker.

The chart expects an existing Kubernetes Secret for the Plex token:

kubectl create namespace plexmoviepicker
kubectl -n plexmoviepicker create secret generic plexmoviepicker-api \
  --from-literal=PLEX_AUTH_TOKEN=replace-me

Example values:

plex:
  location: https://plex.example.com
  authTokenSecret:
    name: plexmoviepicker-api
    key: PLEX_AUTH_TOKEN

gateway:
  enabled: true
  name: public-gateway
  listenerName: https
  hostnames:
    - movies.example.com

Install from a checkout:

helm upgrade --install plexmoviepicker ./charts/plexmoviepicker \
  --namespace plexmoviepicker \
  -f values.yaml

Argo CD can also use the chart directly from this repo:

source:
  repoURL: https://github.com/ddeville/plexmoviepicker.git
  targetRevision: main
  path: charts/plexmoviepicker

Set gateway.enabled=false if another resource exposes the Service. The chart image defaults to ghcr.io/ddeville/plexmoviepicker:<appVersion>; override image.repository, image.tag, or image.digest as needed.

About

A simple web app to randomly pick a movie from one's Plex library

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors