Serviio is a free media server. It allows you to stream your media files (music, video or images) to renderer devices (e.g. a TV set, Bluray player, games console or mobile phone) on your connected home network. This container is made by the vision of originality and compatibilty. This build was designed to follow zip's method to build windows installer transferred to Linux. The image was build from the following images:
- Image is based on anapsix/alpine-java:8u191b12_server-jre image.
- FFMPEG is copied from jrottenberg/ffmpeg:3.4-scrath image.
- DCRAW is copied from ayoburgess/dcraw:latest image.
- S6 layer and setup from their github repo.
docker create --name=serviio \
-v /etc/localtime:/etc/localtime:ro \
-v <path to data>:/config \
-v <path to media>:/media \
-v <path for transcoding>:/transcode \
-e PGID=<gid> -e PUID=<uid> \
-e SERVIIO_OPTS='serviio.cdsAnonymousAccess=true' \
--net=host cina/serviio
version: '2.4'
volumes:
serviio-config:
external: true
serviio-start:
external: true
services:
serviio:
image: cina/serviio:latest
container_name: serviio
volumes:
- serviio-config:/config
- /tmp:/transcode
- /etc/localtime:/etc/localtime:ro
- /media:/media
- /mnt/storage/media:/mnt/storage/media
network_mode: 'host'
mem_limit: 2gb
environment:
- 'SERVIIO_OPTS=-Dserviio.cdsAnonymousAccess=true'
- 'PGID=996'
- 'PUID=997'
restart: unless-stopped
--net=host
- Only works with host networking (Needs UDP broadcast)-v /etc/localtime
for timesync - optional-v /config
- Configuration files-v /media
- Media files-v /transcode
- Transcode location-e PGID
for GroupID - see below for explanation-e PUID
for UserID - see below for explanation-e SERVIIO_OPTS
for additional java runtime options - see this page
Sometimes when using data volumes (-v
flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user PUID
and group PGID
. Ensure the data volume directory on the host is owned by the same user you specify.
In this instance PUID=1001
and PGID=1001
. To find yours use id user
as below:
$ id <dockeruser>
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
The webui is at <your-ip>:23423/console
Add as many media folder mappings as required with -v /media/tv-shows
etc...
Setting a mapping for transcoding -v /transcode
ensures that the container doesn't grow unnecessarily large.
- Shell access whilst the container is running:
docker exec -it serviio /bin/bash
- To monitor the logs of the container in realtime
docker logs -f serviio
.