diff --git a/plinth/modules/minidlna/__init__.py b/plinth/modules/minidlna/__init__.py
index 9f6dfcd73..e1cd1089f 100644
--- a/plinth/modules/minidlna/__init__.py
+++ b/plinth/modules/minidlna/__init__.py
@@ -2,17 +2,15 @@
"""
FreedomBox app to configure minidlna.
"""
+from django.urls import reverse_lazy
from django.utils.translation import gettext_lazy as _
from plinth import app as app_module
from plinth import frontpage, menu
-from plinth.config import DropinConfigs
from plinth.daemon import Daemon
from plinth.modules import firewall
-from plinth.modules.apache.components import Webserver
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
-from plinth.modules.users.components import UsersAndGroups
from plinth.package import Packages, install
from plinth.utils import Version
@@ -37,14 +35,12 @@ class MiniDLNAApp(app_module.App):
app_id = 'minidlna'
- _version = 5
+ _version = 6
def __init__(self) -> None:
"""Initialize the app components."""
super().__init__()
- groups = {'minidlna': _('Media streaming server')}
-
info = app_module.Info(app_id=self.app_id, version=self._version,
name=_('MiniDLNA'), icon_filename='minidlna',
short_description=_('Simple Media Server'),
@@ -63,31 +59,21 @@ class MiniDLNAApp(app_module.App):
)
self.add(menu_item)
- shortcut = frontpage.Shortcut('shortcut-minidlna', info.name,
- short_description=info.short_description,
- description=info.description,
- icon=info.icon_filename,
- url='/_minidlna/', login_required=True,
- allowed_groups=list(groups))
+ shortcut = frontpage.Shortcut(
+ 'shortcut-minidlna', info.name,
+ short_description=info.short_description,
+ description=info.description, icon=info.icon_filename,
+ configure_url=reverse_lazy('minidlna:index'), login_required=True)
self.add(shortcut)
packages = Packages('packages-minidlna', ['minidlna'])
self.add(packages)
- dropin_configs = DropinConfigs(
- 'dropin-configs-minidlna',
- ['/etc/apache2/conf-available/minidlna-freedombox.conf'])
- self.add(dropin_configs)
-
firewall_minidlna = Firewall('firewall-minidlna', info.name,
ports=['minidlna',
'ssdp'], is_external=False)
self.add(firewall_minidlna)
- webserver = Webserver('webserver-minidlna', 'minidlna-freedombox',
- urls=['https://{host}/_minidlna/'])
- self.add(webserver)
-
daemon = Daemon('daemon-minidlna', 'minidlna')
self.add(daemon)
@@ -95,10 +81,6 @@ class MiniDLNAApp(app_module.App):
**manifest.backup)
self.add(backup_restore)
- users_and_groups = UsersAndGroups('users-and-groups-minidlna',
- groups=groups)
- self.add(users_and_groups)
-
def setup(self, old_version):
"""Install and configure the app."""
super().setup(old_version)
@@ -111,6 +93,14 @@ class MiniDLNAApp(app_module.App):
firewall.remove_passthrough('ipv4', '-A', 'INPUT', '-p', 'tcp',
'--dport', '8200', '-j', 'REJECT')
+ if old_version and old_version <= 5:
+ # Remove minidlna LDAP group and disable minidlna apache config
+ from plinth.modules.apache import privileged as apache_privileged
+ from plinth.modules.users import privileged as users_privileged
+
+ users_privileged.remove_group('minidlna')
+ apache_privileged.disable('minidlna-freedombox', 'config')
+
if not old_version:
self.enable()
diff --git a/plinth/modules/minidlna/data/usr/share/freedombox/etc/apache2/conf-available/minidlna-freedombox.conf b/plinth/modules/minidlna/data/usr/share/freedombox/etc/apache2/conf-available/minidlna-freedombox.conf
deleted file mode 100644
index aaaf5f876..000000000
--- a/plinth/modules/minidlna/data/usr/share/freedombox/etc/apache2/conf-available/minidlna-freedombox.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-
- Include includes/freedombox-single-sign-on.conf
-
-
- TKTAuthToken "admin"
-
-
- ProxyPass http://localhost:8200/
-