Giter VIP home page Giter VIP logo

Comments (6)

accountForIssues avatar accountForIssues commented on June 3, 2024 1

@n00ris
Here's my solution using docker-compose.

Directory structure:

minidlna/
|-- Dockerfile # edited from this repo
|-- data
|   |-- cache
|   |   |-- art_cache
|   |   `-- files.db
|   |-- minidlna.log
|   `-- minidlna.pid
|-- docker-compose.yml
`-- entrypoint.sh # from this repo

Dockerfile

FROM alpine

RUN apk --no-cache add bash curl tini shadow su-exec

# Add minidlna 1.3 latest
RUN apk --no-cache -X https://dl-cdn.alpinelinux.org/alpine/edge/community/ add minidlna

COPY entrypoint.sh /

ENTRYPOINT ["/sbin/tini", "--", "/entrypoint.sh"]

# Health check, changed localhost to 127.0.0.1 as 'localhost' was failing
HEALTHCHECK --interval=10s --timeout=10s --retries=6 CMD \
  curl --silent --fail 127.0.0.1:8200 || exit 1

docker-compose.yml

version: '3.3'
services:
    minidlna:
        build: .
        network_mode: host
        volumes:
            - '/home/user/mounted:/media:ro'
            # persistent volume so that the database survives system reboots and container restarts
            - './data:/minidlna'
            - '/etc/localtime:/etc/localtime:ro'
        environment:
            - MINIDLNA_MEDIA_DIR=/media
            - MINIDLNA_FRIENDLY_NAME=Arch-Play
            - PUID=1000
            - PGID=1000
        container_name: minidlna

Then, just docker-compose up -d to start.

If you need to update in the future, you have to docker-compose build.

from docker_base_images.

n00ris avatar n00ris commented on June 3, 2024

Hi @accountForIssues. Thank you for sharing your docker compose file.

My use case: I have family members that should at least be able to restart or update minidlna.
So it should be possible with portainer, a graphical UI to manage docker. After an initial setup (that I can prepare), it makes updates very easy to allow you to pull latest image and re-create. That level works for my family members :-)

EDIT: Unfortunetaly I am not aware to add docker compose files and individual commands like "add repository and patch yourself" via portainer.

from docker_base_images.

accountForIssues avatar accountForIssues commented on June 3, 2024

I don't have much experience using Portainer to manage containers but I'm pretty sure there is a way to do it. There is no need to pull the repo to run the compose files though.

It's not exactly UI based but you can create simple shell scripts to start, restart, reset or update (quite rare for minidlna) when needed. It's better than telling your family to run commands in a terminal :)

from docker_base_images.

sofakng avatar sofakng commented on June 3, 2024

@accountForIssues
Here's my solution using docker-compose.

Thanks for this. I used it as a basis for my own container and it's working great. Hopefully this can be committed to the main repo.

By the way, does DLNA just stream the raw video file to the video player? ...or does it perform any transcoding, etc?

from docker_base_images.

adripo avatar adripo commented on June 3, 2024

Hi @vladgh. Can you please redeploy minidlna to bump its version on docker hub please?

from docker_base_images.

vladgh avatar vladgh commented on June 3, 2024

Hi All, sorry for the very long delay in answering this!
The packaged version in the latest Alpine Linux is 1.2.1-r2, last patched in 2020-12-15. I thought a long time about upgrading MiniDLNA to 1.3.0, but I decided to stick with the upstream version from Alpine, because of stability and reliability. When a new version of Alpine will be released, it will come with the new MiniDLNA. This follows the usual Linux release cycle.
There are 2 ways of upgrading the package, and I don't support any of them:

  • One is to add the edge repository and install it from there;

Warning: "edge" is under constant development so be careful using it in production. It is possible that bugs in "edge" could cause data loss or could break your system.

from docker_base_images.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.