Skip to content

Latest commit

 

History

History
131 lines (104 loc) · 6.13 KB

README.md

File metadata and controls

131 lines (104 loc) · 6.13 KB

mbentley/ums

docker image for Universal Media Server (UMS) based off of alpine:latest

To pull this image: docker pull mbentley/ums

Image Tags

Multi-arch Tags

Tags UMS Version Dockerfile Base Image Arch
latest
14
UMS 14.x Dockerfile.14-alpine alpine:latest amd64, arm64
14-alpine UMS 14.x Dockerfile.14-alpine alpine:latest amd64, arm64
13 UMS 13.x Dockerfile.13-alpine alpine:latest amd64, arm64
13-alpine UMS 13.x Dockerfile.13-alpine alpine:latest amd64, arm64

Archived Tags

These images are still published on Docker Hub but are no longer regularly updated due to the base OS no longer being supported or the version being older. Use with extreme caution as these images are likely to contain unpatched security vulnerabilities!

Tags UMS Version Dockerfile Base Image Arch
11 UMS 11.x Dockerfile.11-alpine alpine:latest amd64, arm64
11-alpine UMS 11.x Dockerfile.11-alpine alpine:latest amd64, arm64
10 UMS 10.x Dockerfile.10-alpine alpine:latest amd64, arm64
10-alpine UMS 10.x Dockerfile.10-alpine alpine:latest amd64, arm64
10-debian UMS 10.x Dockerfile.10-debian debian:bullseye amd64
9 UMS 9.x Dockerfile.9 debian:buster amd64
9-alpine UMS 9.x Dockerfile.9-alpine alpine:latest amd64
8 UMS 8.x Dockerfile.8 debian:stretch amd64
7 UMS 7.x Dockerfile.7 debian:stretch amd64
6 UMS 6.x Dockerfile.6 debian:stretch amd64
5 UMS 5.x Dockerfile.5 debian:stretch amd64

Explicit Architecture Tags

These tags will explicitly pull the image for the listed architecture and are bit for bit identical to the multi-arch tags images.

Tags UMS Version Dockerfile Base Image Arch
latest-amd64
13-alpine-amd64
UMS 13.x Dockerfile.13-alpine alpine:latest amd64
latest-arm64
13-alpine-arm64
UMS 13.x Dockerfile.13-alpine alpine:latest arm64
13-debian-amd64 UMS 13.x Dockerfile.13-debian debian:bullseye amd64
11-alpine-amd64 UMS 11.x Dockerfile.11-alpine alpine:latest amd64
11-alpine-arm64 UMS 11.x Dockerfile.11-alpine alpine:latest arm64
11-debian-amd64 UMS 11.x Dockerfile.11-debian debian:bullseye amd64
10-alpine-amd64 UMS 10.x Dockerfile.10-alpine alpine:latest amd64
10-alpine-arm64 UMS 10.x Dockerfile.10-alpine alpine:latest arm64
10-debian-amd64 UMS 10.x Dockerfile.10-debian debian:bullseye amd64

Permission Prerequisites

By default, UMS will run as a non-root user. Due to this, your media directory that you bind mount into the container must have other permissions set to rx:

chown -R o+rx /path/to/my/media

Example usage

Default UMS.conf with a media folder specified:

docker run -d \
  --init \
  --net=host \
  --restart=always \
  --name ums \
  -e FOLDER="/media" \
  -e FORCE_CHOWN="false" \
  -e NETWORK_INTERFACE="" \
  -e LOG_LEVEL="" \
  -e PORT=5001 \
  -e SET_MEDIA_PERMISSIONS="false" \
  -v ums-data:/opt/ums/data \
  -v ums-database:/opt/ums/database \
  -v /path/to/your/media:/media \
  mbentley/ums

Custom UMS.conf and persistent UMS.cred file, data and database directories:

docker run -d \
  --init \
  --net=host \
  --restart=always \
  --name ums \
  -e FOLDER="" \
  -e FORCE_CHOWN="false" \
  -e NETWORK_INTERFACE="" \
  -e LOG_LEVEL="" \
  -e PORT=5001 \
  -e SET_MEDIA_PERMISSIONS="false" \
  -v /path/to/your/UMS.conf:/opt/ums/UMS.conf \
  -v /path/to/your/UMS.cred:/opt/ums/UMS.cred \
  -v /path/to/data:/opt/ums/data \
  -v /path/to/database:/opt/ums/database \
  -v /path/to/your/media:/media \
  mbentley/ums

Environment Variables

  • FOLDER - (default: null) Automatically set the path to the media folder for UMS in UMS.conf
  • FORCE_CHOWN - (default: false) When set to true, forces ownership of the /opt/ums/data and /opt/ums/database directories so UMS can write to them
  • NETWORK_INTERFACE - (default: null) UMS will autodetect the network interface; sometimes you want to specify which network interface to have UMS bind to
  • LOG_LEVEL - (default: null) UMS defaults to INFO, can be ALL, TRACE, DEBUG, INFO, WARN, ERROR or OFF
  • PORT - (default: null) Defaults to the UMS default which is currently 5001 if not set; changed the default port if set
  • SET_MEDIA_PERMISSIONS - (default: false) When set to true & FOLDER passed, performs a chmod on the FOLDER directory so that it is world read/execute to be able to read the media files and traverse directories

Persistent Data

Warning: Volumes for UMS.conf, data database are optional but the data in them will not persist otherwise. If you need a UMS.conf file to start from, you can start a container and use docker cp to transfer the file to your host:

docker run -d --name ums-temp mbentley/ums bash
docker cp ums-temp:/opt/ums/UMS.conf UMS.conf
docker stop ums-temp
docker rm ums-temp

Note: You will likely need to chown all persistent files and directories to 500:500. The entrypoint script will attempt to do it for you if they're not set correctly.

If you would rather not use --net=host, you can expose the ports for UMS but autodiscovery might not work:

  • TCP - 2869, 5001, 9001
  • UDP - 1900