🦄 Sync 2026-08-26 20:42:53

This commit is contained in:
github-actions[bot] committed 2026-08-26 20:42:53 +08:00
1 parent 53bb25bf38
commit e7a277e681
487 files changed
+55081 -19590

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
#
# Copyright (C) 2026 LinkEase Contributors
#
# This is free software, licensed under the GNU General Public License v3.
#
include $(TOPDIR)/rules.mk
PKG_ARCH_DOCKERMANAGER:=$(ARCH)
PKG_NAME:=dockermanager
PKG_VERSION:=dockermanager-runtime-v0.1.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/istoreos/istoreos-app-hub/releases/download/dockermanager-runtime-v$(PKG_VERSION)/
PKG_HASH:=skip
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=net
CATEGORY:=System
TITLE:=Docker Manager
URL:=https://github.com/linkease/linkease-docker-manager
DEPENDS:=+docker +dockerd +ca-bundle +luci-lib-linkeaseauth
endef
define Package/$(PKG_NAME)/description
Docker Manager provides a LinkEase Desktop web module and HTTP API for Docker management.
endef
define Package/$(PKG_NAME)/conffiles
/etc/config/dockermanager
endef
define Package/$(PKG_NAME)/prerm
#!/bin/sh
if [ "$${IPKG_INSTROOT}" = "" ]; then
if [ "$$(readlink /usr/share/linkeasefull/desktop-apps.d/20-dockermanager-plugin.json 2>/dev/null)" = "/usr/share/dockermanager/dockermanager-plugin.json" ]; then
rm -f /usr/share/linkeasefull/desktop-apps.d/20-dockermanager-plugin.json
fi
fi
exit 0
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/$(PKG_NAME)/install
$(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/share/dockermanager/www $(1)/usr/share/linkeasefull/desktop-apps.d $(1)/etc/init.d $(1)/etc/config
$(INSTALL_BIN) $(PKG_BUILD_DIR)/docker-manager.$(PKG_ARCH_DOCKERMANAGER) $(1)/usr/sbin/docker-manager
$(CP) $(PKG_BUILD_DIR)/www/* $(1)/usr/share/dockermanager/www/
$(INSTALL_DATA) ./files/logo.svg $(1)/usr/share/dockermanager/www/logo.svg
$(INSTALL_DATA) ./files/dockermanager-plugin.json $(1)/usr/share/dockermanager/dockermanager-plugin.json
ln -sf /usr/share/dockermanager/dockermanager-plugin.json $(1)/usr/share/linkeasefull/desktop-apps.d/20-dockermanager-plugin.json
$(INSTALL_BIN) ./files/dockermanager.init $(1)/etc/init.d/dockermanager
$(INSTALL_CONF) ./files/dockermanager.config $(1)/etc/config/dockermanager
endef
$(eval $(call BuildPackage,$(PKG_NAME)))
@@ -0,0 +1,33 @@
{
"schemaVersion": 1,
"id": "dockermanager",
"name": "Docker Manager",
"icon": "logo.svg",
"staticRoot": "/usr/share/dockermanager/www",
"desktop": {
"mode": "module",
"entry": "desktop-entry.js",
"isolation": "shadow-dom"
},
"standalone": {
"entry": "index.html",
"basePath": "/apps/dockermanager/"
},
"backend": {
"type": "http",
"scheme": "http",
"host": "127.0.0.1",
"portFromUci": "dockermanager.@dockermanager[0].port",
"defaultPort": 8192,
"upstreamBasePath": "/apps/dockermanager/",
"apiPath": "api/",
"pathMode": "preserve"
},
"window": {
"width": 1180,
"height": 760,
"singleton": true
},
"capabilities": ["docker"],
"categories": ["system"]
}
+6
View File
@@ -0,0 +1,6 @@
config dockermanager
option 'enabled' '0'
option 'data_dir' ''
option 'port' '8192'
option 'bind_addr' '0.0.0.0'
option 'base_path' '/apps/dockermanager/'
+53
View File
@@ -0,0 +1,53 @@
#!/bin/sh /etc/rc.common
START=94
USE_PROCD=1
get_config() {
config_get_bool enabled "$1" enabled 0
config_get data_dir "$1" data_dir ""
config_get port "$1" port "8192"
config_get bind_addr "$1" bind_addr "0.0.0.0"
config_get base_path "$1" base_path "/apps/dockermanager/"
}
mkdir_p() {
[ -d "$1" ] || mkdir -p "$1"
}
start_service() {
config_load dockermanager
config_foreach get_config dockermanager
if [ "$enabled" != 1 ]; then
return 1
fi
if [ -z "$data_dir" ]; then
logger -t dockermanager "data_dir is empty; set option data_dir in /etc/config/dockermanager"
return 1
fi
mkdir_p "$data_dir" || return 1
mkdir_p "$data_dir/state" || return 1
mkdir_p "$data_dir/cache" || return 1
logger -t dockermanager "Starting Docker Manager service"
procd_open_instance docker-manager
procd_set_param env \
DOCKER_MANAGER_ADDR="$bind_addr:$port" \
DOCKER_MANAGER_BASE_PATH="$base_path" \
DOCKER_MANAGER_DATA_DIR="$data_dir" \
DOCKER_MANAGER_STATIC_ROOT="/usr/share/dockermanager/www" \
DOCKER_MANAGER_PLATFORM="openwrt" \
DOCKER_MANAGER_AUTH_MODE="openwrt_luci"
procd_set_param command /usr/sbin/docker-manager
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
logger -t dockermanager "Docker Manager service started"
}
service_triggers() {
procd_add_reload_trigger "dockermanager"
}
+10
View File
@@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96" role="img" aria-label="Docker Manager">
<rect width="96" height="96" rx="18" fill="#111827"/>
<path fill="#60a5fa" d="M20 53h56c-1 13-11 23-26 23H38c-11 0-18-7-18-18v-5Z"/>
<rect x="25" y="36" width="10" height="10" rx="2" fill="#dbeafe"/>
<rect x="38" y="36" width="10" height="10" rx="2" fill="#dbeafe"/>
<rect x="51" y="36" width="10" height="10" rx="2" fill="#dbeafe"/>
<rect x="38" y="23" width="10" height="10" rx="2" fill="#dbeafe"/>
<rect x="51" y="23" width="10" height="10" rx="2" fill="#dbeafe"/>
<path fill="#93c5fd" d="M70 44c5-1 9-4 11-8 2 6-1 12-7 15l-4-7Z"/>
</svg>

After

Width:  |  Height:  |  Size: 658 B