Skip to content

Instantly share code, notes, and snippets.

@k3karthic
Created October 20, 2025 22:23
Show Gist options
  • Select an option

  • Save k3karthic/5385e70e396e21dcd06cf06f557162b0 to your computer and use it in GitHub Desktop.

Select an option

Save k3karthic/5385e70e396e21dcd06cf06f557162b0 to your computer and use it in GitHub Desktop.
Fedora Silverblue - ReadyMedia

Step 1 : Create toolbox container for Syncthing

toolbox create -d ubuntu --release 24.04 -c syncthing
toolbox enter syncthing
~/bin/run-container-playbooks.sh
exit

Step 2 : Create systemctl service

sudo loginctl enable-linger $(whoami)
mkdir -p ~/.config/systemd/user/
cat << EOF > ~/.config/systemd/user/readymedia.service
[Unit]
Description=ReadyMedia
After=network.target toolbox.service

[Service]
ExecStart=toolbox run -c readymedia sh -c "minidlnad"
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable readymedia.service
systemctl --user start readymedia.service

Step 3 : Allow remote access

sudo firewall-cmd --zone=public --add-port=8200/tcp --permanent
sudo firewall-cmd --zone=public --add-port=1900/udp --permanent
sudo firewall-cmd --reload
---
- name: Install and Configure MiniDLNA on Arch Linux
hosts: localhost
connection: local
become: yes
vars:
minidlna_user: karthic
minidlna_video_dir: /mnt/hdd/Videos
minidlna_db_dir: /var/cache/minidlna
minidlna_log_dir: /var/log/minidlna
minidlna_run_dir: /var/run/minidlna
tasks:
- name: Install minidlna
community.general.pacman:
name: minidlna
state: present
- name: Create MiniDLNA cache directory
ansible.builtin.file:
path: "{{ minidlna_db_dir }}"
state: directory
owner: "{{ minidlna_user }}"
group: users
mode: '0755'
- name: Create MiniDLNA log directory
ansible.builtin.file:
path: "{{ minidlna_log_dir }}"
state: directory
owner: "{{ minidlna_user }}"
group: users
mode: '0755'
- name: Create MiniDLNA run directory
ansible.builtin.file:
path: "{{ minidlna_run_dir }}"
state: directory
owner: "{{ minidlna_user }}"
group: users
mode: '0755'
- name: Configure minidlna user
ansible.builtin.lineinfile:
path: /etc/minidlna.conf
regexp: '^user='
line: "user={{ minidlna_user }}"
- name: Configure minidlna media directory
ansible.builtin.lineinfile:
path: /etc/minidlna.conf
regexp: '^media_dir='
line: "media_dir=V,{{ minidlna_video_dir }}"
- name: Configure minidlna database directory
ansible.builtin.lineinfile:
path: /etc/minidlna.conf
# Match the commented-out line to uncomment and set it
regexp: '^#db_dir='
line: "db_dir={{ minidlna_db_dir }}"
- name: Configure minidlna log directory
ansible.builtin.lineinfile:
path: /etc/minidlna.conf
# Match the commented-out line to uncomment and set it
regexp: '^#log_dir='
line: "log_dir={{ minidlna_log_dir }}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment