update jellyfin
This commit is contained in:
parent
d0e2668ab7
commit
c00d8b92d4
@ -4,7 +4,7 @@ function index()
|
|||||||
|
|
||||||
entry({'admin', 'services', 'jellyfin'}, alias('admin', 'services', 'jellyfin', 'client'), _('Jellyfin'), 10).dependent = true -- 首页
|
entry({'admin', 'services', 'jellyfin'}, alias('admin', 'services', 'jellyfin', 'client'), _('Jellyfin'), 10).dependent = true -- 首页
|
||||||
entry({"admin", "services", "jellyfin",'client'}, cbi("jellyfin/status", {hideresetbtn=true, hidesavebtn=true}), _("Jellyfin"), 20).leaf = true
|
entry({"admin", "services", "jellyfin",'client'}, cbi("jellyfin/status", {hideresetbtn=true, hidesavebtn=true}), _("Jellyfin"), 20).leaf = true
|
||||||
entry({'admin', 'services', 'jellyfin', 'script'}, form('jellyfin/script'), _('Script'), 20).leaf = true -- 直接配置脚本
|
-- entry({'admin', 'services', 'jellyfin', 'script'}, form('jellyfin/script'), _('Script'), 20).leaf = true -- 直接配置脚本
|
||||||
|
|
||||||
entry({"admin", "services", "jellyfin","status"}, call("container_status"))
|
entry({"admin", "services", "jellyfin","status"}, call("container_status"))
|
||||||
entry({"admin", "services", "jellyfin","stop"}, call("stop_container"))
|
entry({"admin", "services", "jellyfin","stop"}, call("stop_container"))
|
||||||
@ -62,7 +62,8 @@ function install_container()
|
|||||||
local dk = docker.new()
|
local dk = docker.new()
|
||||||
local images = dk.images:list().body
|
local images = dk.images:list().body
|
||||||
local image = util.exec("sh /usr/share/jellyfin/install.sh -l")
|
local image = util.exec("sh /usr/share/jellyfin/install.sh -l")
|
||||||
|
local media_path = luci.http.formvalue("media")
|
||||||
|
local config_path = luci.http.formvalue("config")
|
||||||
local pull_image = function(image)
|
local pull_image = function(image)
|
||||||
docker:append_status("Images: " .. "pulling" .. " " .. image .. "...\n")
|
docker:append_status("Images: " .. "pulling" .. " " .. image .. "...\n")
|
||||||
local res = dk.images:create({query = {fromImage=image}}, docker.pull_image_show_status_cb)
|
local res = dk.images:create({query = {fromImage=image}}, docker.pull_image_show_status_cb)
|
||||||
@ -77,7 +78,9 @@ function install_container()
|
|||||||
local install_jellyfin = function()
|
local install_jellyfin = function()
|
||||||
local os = require "os"
|
local os = require "os"
|
||||||
local fs = require "nixio.fs"
|
local fs = require "nixio.fs"
|
||||||
local c = "sh /usr/share/jellyfin/install.sh -i >/tmp/log/jellyfin.stdout 2>/tmp/log/jellyfin.stderr"
|
local c = ("sh /usr/share/jellyfin/install.sh -m " ..media_path.. " -c " ..config_path.. " -i >/tmp/log/jellyfin.stdout 2>/tmp/log/jellyfin.stderr")
|
||||||
|
-- docker:write_status(c)
|
||||||
|
|
||||||
local r = os.execute(c)
|
local r = os.execute(c)
|
||||||
local e = fs.readfile("/tmp/log/jellyfin.stderr")
|
local e = fs.readfile("/tmp/log/jellyfin.stderr")
|
||||||
local o = fs.readfile("/tmp/log/jellyfin.stdout")
|
local o = fs.readfile("/tmp/log/jellyfin.stdout")
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<script type="text/javascript">//<![CDATA[
|
<script type="text/javascript">//<![CDATA[
|
||||||
XHR.poll(5, '<%=url("admin/services/jellyfin/status")%>', null,
|
XHR.poll(5,'<%=url("admin/services/jellyfin/status")%>', null,
|
||||||
function (x, st) {
|
function (x, st) {
|
||||||
var tb = document.getElementById('linkease_status');
|
var tb = document.getElementById('linkease_status');
|
||||||
if (st && tb) {
|
if (st && tb) {
|
||||||
@ -19,8 +19,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tb.innerHTML = '<br/><em><%:The Jellyfin service is not installed.%></em>'
|
let config = document.getElementById('config')
|
||||||
+ "<br/><br/><br/><input class=\"btn cbi-button cbi-button-apply\" type=\"button\" value=\" <%:install Jellyfin%> \" onclick=\"install_container()\" /><br/><br/>";
|
if(!config){
|
||||||
|
tb.innerHTML = '<br/><em><%:The Jellyfin service is not installed.%></em>'
|
||||||
|
+ "<br/><br/><br/>config path:"
|
||||||
|
+ "<br/><input type=\"text\" class=\"cbi-input-text\" name=\"isrc\" id=\"config\" value=\"/root/jellyfin/config\" />"
|
||||||
|
+ "<br/><br/>media path:"
|
||||||
|
+ "<br/><input type=\"text\" class=\"cbi-input-text\" name=\"isrc\" id=\"media\" value=\"/mnt/sda1/media\"/>"
|
||||||
|
+ "<br/><br/><input class=\"btn cbi-button cbi-button-apply\" type=\"button\" value=\" <%:install Jellyfin%> \" onclick=\"install_container()\" /><br/><br/>";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
@ -74,9 +82,13 @@
|
|||||||
const INSTALL_URL = '<%=luci.dispatcher.build_url("admin", "services", "jellyfin","install")%>';
|
const INSTALL_URL = '<%=luci.dispatcher.build_url("admin", "services", "jellyfin","install")%>';
|
||||||
|
|
||||||
function install_container(x) {
|
function install_container(x) {
|
||||||
|
let config = document.getElementById('config')
|
||||||
|
let media = document.getElementById('media')
|
||||||
|
let media_path = media.value
|
||||||
|
let config_path = config.value
|
||||||
|
|
||||||
uci_confirm_docker()
|
uci_confirm_docker()
|
||||||
XHR.get(INSTALL_URL, { container_id: x }, (x, d) => {
|
XHR.get(INSTALL_URL, { media: media_path,config:config_path }, (x, d) => {
|
||||||
// alert(" 删除容器'" + d.image_name + "' ");
|
// alert(" 删除容器'" + d.image_name + "' ");
|
||||||
location.reload()
|
location.reload()
|
||||||
});
|
});
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
image_name="jjm2473/jellyfin-rtk:latest"
|
image_name="jjm2473/jellyfin-rtk:latest"
|
||||||
|
config="/root/jellyfin/config"
|
||||||
|
media="/mnt/sda1/media"
|
||||||
|
|
||||||
install(){
|
install(){
|
||||||
docker run --restart=unless-stopped -d \
|
docker run --restart=unless-stopped -d \
|
||||||
@ -26,16 +27,22 @@ install(){
|
|||||||
-v /var/tmp/vowb:/var/tmp/vowb \
|
-v /var/tmp/vowb:/var/tmp/vowb \
|
||||||
--pid=host \
|
--pid=host \
|
||||||
--dns=172.17.0.1 \
|
--dns=172.17.0.1 \
|
||||||
-p 8096:8096 -v /root/jellyfin/config:/config -v /mnt/sda1/media:/media --name myjellyfin-rtk $image_name
|
-p 8096:8096 -v $config:/config -v $media:/media --name myjellyfin-rtk $image_name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
while getopts ":il" optname
|
while getopts ":ilc:m:" optname
|
||||||
do
|
do
|
||||||
case "$optname" in
|
case "$optname" in
|
||||||
"l")
|
"l")
|
||||||
echo -n $image_name
|
echo -n $image_name
|
||||||
;;
|
;;
|
||||||
|
"c")
|
||||||
|
config=$OPTARG
|
||||||
|
;;
|
||||||
|
"m")
|
||||||
|
media=$OPTARG
|
||||||
|
;;
|
||||||
"i")
|
"i")
|
||||||
install
|
install
|
||||||
;;
|
;;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user