diff --git a/applications-tree.json b/applications-tree.json index f570c76..b871f68 100644 --- a/applications-tree.json +++ b/applications-tree.json @@ -28,6 +28,14 @@ "name": "Outline", "version": "latest" }, + { + "name": "FileBrowser", + "version": "latest" + }, + { + "name": "Jellyfin", + "version": "latest" + }, { "name": "LeanTime", "version": "latest" diff --git a/filebrowser/service-filebrowser.json b/filebrowser/service-filebrowser.json index e9c7043..b44108d 100644 --- a/filebrowser/service-filebrowser.json +++ b/filebrowser/service-filebrowser.json @@ -1,7 +1,7 @@ { "main": { "SERVICE_NAME": "filebrowser", - "DOMAIN": "#TRANSMISSION_DOMAIN" + "DOMAIN": "#FILEBROWSER_DOMAIN" }, "containers": [ { @@ -21,7 +21,7 @@ "DEPEND": "null", "START_ON_BOOT": "false", "ENTRYPOINT": "sh -c", - "CMD": "mkdir -p /etc/user/data/filebrowser && mkdir -p /etc/user/data/transmission/downloads/complete", + "CMD": "mkdir -p /etc/user/data/jellyfin/media && mkdir -p /etc/user/data/transmission/downloads/complete", "PRE_START": "null", "POST_START": "null" }, @@ -32,10 +32,15 @@ "SELECTOR": "filebrowser", "VOLUMES": [ { - "SOURCE": "/etc/user/data/filebrowser", + "SOURCE": "/etc/user/data", "DEST": "/srv", "TYPE": "rw" }, + { + "SOURCE": "/etc/user/data/jellyfin/media", + "DEST": "/srv/media", + "TYPE": "rw" + }, { "SOURCE": "/etc/user/data/transmission/downloads", "DEST": "/srv/transmission", @@ -49,14 +54,6 @@ "TYPE": "tcp" } ], - "ENVS": [ - { - "PUID": "1000" - }, - { - "PGID": "1000" - } - ], "ENV_FILES": [ "/etc/user/secret/filebrowser/filebrowser.json" ], diff --git a/jellyfin/domain-jellyfin.json b/jellyfin/domain-jellyfin.json new file mode 100644 index 0000000..6eca12a --- /dev/null +++ b/jellyfin/domain-jellyfin.json @@ -0,0 +1,60 @@ +{ + "main": { + "SERVICE_NAME": "filebrowser", + "DOMAIN": "#JELLYFIN_DOMAIN" + }, + "containers": [ + { + "IMAGE": "safebox/domain-check", + "UPDATE": "true", + "MEMORY": "64M", + "NAME": "domain_checker", + "ROLES": "domain_checker", + "NETWORK": "host", + "SELECTOR": "", + "SCALE": "0", + "EXTRA": "--rm --privileged", + "PRE_START": [], + "DEPEND": [], + "POST_START": [], + "CMD": "", + "ENVS": [ + { + "PROXY": "smarthostloadbalancer" + }, + { + "TARGET": "filebrowser" + }, + { + "PORT": "8096" + }, + { + "DOMAIN": "#JELLYFIN_DOMAIN" + }, + { + "SMARTHOST_PROXY_PATH": "/smarthost-domains" + }, + { + "OPERATION": "CREATE" + } + ], + "VOLUMES": [ + { + "SOURCE": "/etc/user/config/smarthost-domains", + "DEST": "/smarthost-domains", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/system/data/dns/hosts.local", + "DEST": "/etc/dns/hosts.local", + "TYPE": "ro" + }, + { + "SOURCE": "/var/run/docker.sock", + "DEST": "/var/run/docker.sock", + "TYPE": "rw" + } + ] + } + ] +} \ No newline at end of file diff --git a/jellyfin/jellyfin-secret.json b/jellyfin/jellyfin-secret.json new file mode 100644 index 0000000..2132d26 --- /dev/null +++ b/jellyfin/jellyfin-secret.json @@ -0,0 +1,6 @@ +{ + "jellyfin": { + "USER": "#JELLYFIN_USER", + "PASS": "#JELLYFIN_PASS" + } +} \ No newline at end of file diff --git a/jellyfin/service-jellyfin.json b/jellyfin/service-jellyfin.json new file mode 100644 index 0000000..e245dcf --- /dev/null +++ b/jellyfin/service-jellyfin.json @@ -0,0 +1,64 @@ +{ + "main": { + "SERVICE_NAME": "filebrowser", + "DOMAIN": "#JELLYFIN_DOMAIN" + }, + "containers": [ + { + "IMAGE": "safebox/jellyfin-init-container:latest", + "UPDATE": "true", + "NAME": "jellyfin-init", + "NETWORK": "host", + "MEMORY": "64M", + "VOLUMES": [ + { + "SOURCE": "USER_DATA", + "DEST": "/etc/user/data", + "TYPE": "rw" + } + ], + "EXTRA": "--rm", + "DEPEND": "null", + "START_ON_BOOT": "false", + "PRE_START": "null", + "POST_START": "null" + }, + { + "IMAGE": "jellyfin/jellyfin:latest", + "UPDATE": "true", + "NAME": "jellyfin", + "NETWORK": "host", + "VOLUMES": [ + { + "SOURCE": "/etc/user/data/jellyfin/media", + "DEST": "/media", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/user/data/jellyfin/config", + "DEST": "/config", + "TYPE": "rw" + }, + { + "SOURCE": "/etc/system/data/jellyfin/cache", + "DEST": "/cache", + "TYPE": "rw" + } + ], + "PORTS": [ + { + "SOURCE": "8096", + "DEST": "8096", + "TYPE": "tcp" + } + ], + "EXTRA": "--restart unless-stopped", + "DEPEND": [], + "START_ON_BOOT": "false", + "PRE_START": "null", + "POST_START": [ + "domain-jellyfin" + ] + } + ] +} \ No newline at end of file diff --git a/jellyfin/template.json b/jellyfin/template.json new file mode 100644 index 0000000..13f5569 --- /dev/null +++ b/jellyfin/template.json @@ -0,0 +1,10 @@ +{ + "name": "jellyfin", + "fields": [ + { + "description": "Please add your filebrowser domain:", + "key": "JELLYFIN_DOMAIN", + "value": "" + } + ] +} \ No newline at end of file