Setting up minidlna as a docker container

A minimal Docker Compose setup for minidlna to stream media over the local network.

MiniDLNA is a DLNA/UPnP server. I used it on a Raspberry Pi to expose media folders to devices on my local network, like the TV. Here is the minimal docker-compose.yml I started with:

version: '3'

services:
  dlna:
    image: vladgh/minidlna
    container_name: minidlna
    restart: always
    volumes:
      - /mnt/movies:/media/movies
    network_mode: host
    environment:
      MINIDLNA_MEDIA_DIR: /media
      MINIDLNA_FRIENDLY_NAME: pc

Note

I’m using the vladgh image here because it supports arm, which I needed for a Raspberry Pi. Any MiniDLNA image with the same environment options should work.

If you need additional folders, you can set them up like this:

    volumes:
      - /mnt/audio:/media/audio
      - /mnt/video:/media/video
    environment:
      MINIDLNA_MEDIA_DIR_1: /media/audio
      MINIDLNA_MEDIA_DIR_2: /media/video
      MINIDLNA_FRIENDLY_NAME: pc

After that start your container as usual:

user@raspberrypi [~/apps/minidlna]
$ docker-compose up -d && docker-compose logs -f
[+] Running 1/1
 Container minidlna  Started
minidlna  | === Set user and group identifier
minidlna  | === Set standard configuration
minidlna  | === Set configuration from environment variables
minidlna  | === Set permissions
minidlna  | === Generate scan/rebuild flags
minidlna  | === Start daemon
minidlna  | minidlna.c:1124: warn: Starting MiniDLNA version 1.3.0.
minidlna  | minidlna.c:395: warn: Creating new database at /minidlna/cache/files.db
minidlna  | minidlna.c:1193: warn: HTTP listening on port 8200
minidlna  | scanner.c:731: warn: Scanning /media
minidlna  | scanner.c:820: warn: Scanning /media finished (287 files)!

Check MiniDLNA’s documentation for reference.

Looking for an alternative?

If minidlna doesn’t work well for your setup, check out Gerbera as an alternative UPnP media server.

Comments

Back to top