Build a NAS with DLNA function at the speed of a second with Raspberry Pi and Docker Compose

What i did

I set up a NAS on the LAN using Raspberry Pi 3 and a USB HDD.

I used to do the same thing without using Docker, but as I was playing with adding and removing various functions to the Raspberry Pi, I began to worry that the environment became dirty. So I decided to rebuild the environment from scratch with the upgrade to Raspbian Buster and manage it with Docker Compose.

merit

Preparation

Launch service

  1. Use the following docker-compose to docker-compose up -d
  2. Make sure you can access \\ [Raspberry Pi name] \ share from the network
  3. Insert the video file you want to play with DLNA into \\ [Raspberry Pi name] \ share \ media
  4. End

docker-compose.yml


version: '3.4'

services:
  minidlna:
    image: cytomich/rpi-docker-minidlna
    container_name: minidlna
    volumes:
      - /mnt/hdd1/media:/media:z
    environment:
      - MINIDLNA_MEDIA_DIR=/media
      - MINIDLNA_PORT=8200
      - MINIDLNA_FRIENDLY_NAME=NASpi
    network_mode: "host"
    restart: always
      
  samba:
    image: dperson/samba
    container_name: samba
    networks:
      - default
    ports:
      - "137:137/udp"
      - "138:138/udp"
      - "139:139/tcp"
      - "445:445/tcp"
    read_only: true
    tmpfs:
      - /tmp
    restart: always
    stdin_open: true
    tty: true
    volumes:
      - /mnt/hdd1:/mnt/share:z
    command: '-s share;/mnt/share;yes;no;yes'

result

Performance is good. As for the DLNA function, I could play it without any problem if it was about MP4 of several hundred kbps. Since it is a Raspberry Pi, overconfidence is prohibited, but it seems that there is a little more room.

Customize docker-compose.yml to create your own strongest home server!

Referenced

Recommended Posts

Build a NAS with DLNA function at the speed of a second with Raspberry Pi and Docker Compose
Graph the sensor information of Raspberry Pi in Java and check it with a web browser
[Copy and paste] Build a Laravel development environment with Docker Compose Part 2
[Copy and paste] Build a Laravel development environment with Docker Compose Participation
Create a container image for arm64 of Kibana and register it in GitHub Container Registry. Start Elastic Stack with Docker Compose on Raspberry Pi 4 (64bit)
How to build a Jenkins server with a Docker container on CentOS 7 of VirtualBox and access the Jenkins server from a local PC
Graph the sensor information of Raspberry Pi and prepare an environment that can be checked with a web browser
Try scanning, analyzing, and transmitting the remote control of Mitsubishi's air conditioner with Raspberry Pi
The story of pushing a Docker container to GitHub Package Registry and Docker Hub with GitHub Actions
Build a Node-RED environment with Docker to move and understand
One file of Docker x Laravel threat! Build a local development environment with the minimum configuration
I tried to build the environment of PlantUML Server with Docker
Create a flyway jar with maven and docker build (migrate) with docker-maven-plugin
Build a development environment for Django + MySQL + nginx with Docker Compose
[Illustration] Finding the sum of coins with a recursive function [Ruby]
Build a Node.js environment with Docker
Build Rails environment with Docker Compose
The story of making a game launcher with automatic loading function [Java]
Draw a bar graph and a line graph at the same time with MPAndroidChart
Email sending function with Action Mailer at the time of new registration
I tried to measure and compare the speed of GraalVM with JMH
Raspberry Pi Kubernetes and Docker downgraded story
Put Kanban in Docker of Raspberry Pi 3
Build a PureScript development environment with Docker
Build a Wordpress development environment with Docker
Launched Redmine with Docker on Raspberry Pi 3
raspberry pi 4: Both Raspberry Pi OS and ubuntu boot with just a USB hard disk
Build Apache and Tomcat environment with Docker. By the way, Maven & Java cooperation
A quick note on using jshell with the official Docker image of the JDK