From 00c463799d31aecbbecd05db91a643e5684f7df5 Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Wed, 24 Jun 2026 19:53:41 +0800 Subject: [PATCH] Add LinuxServer Diskover adapter --- apps/diskover-linuxserver/2.3.5/.env.sample | 6 ++ apps/diskover-linuxserver/2.3.5/data.yml | 83 ++++++++++++++++++ apps/diskover-linuxserver/2.3.5/data/.gitkeep | 0 .../2.3.5/docker-compose.yml | 54 ++++++++++++ .../2.3.5/scripts/init.sh | 4 + .../2.3.5/scripts/uninstall.sh | 2 + .../2.3.5/scripts/upgrade.sh | 2 + apps/diskover-linuxserver/README.md | 44 ++++++++++ apps/diskover-linuxserver/data.yml | 30 +++++++ apps/diskover-linuxserver/latest/.env.sample | 6 ++ apps/diskover-linuxserver/latest/data.yml | 83 ++++++++++++++++++ .../diskover-linuxserver/latest/data/.gitkeep | 0 .../latest/docker-compose.yml | 54 ++++++++++++ .../latest/scripts/init.sh | 4 + .../latest/scripts/uninstall.sh | 2 + .../latest/scripts/upgrade.sh | 2 + apps/diskover-linuxserver/logo.png | Bin 0 -> 2187 bytes 17 files changed, 376 insertions(+) create mode 100644 apps/diskover-linuxserver/2.3.5/.env.sample create mode 100644 apps/diskover-linuxserver/2.3.5/data.yml create mode 100644 apps/diskover-linuxserver/2.3.5/data/.gitkeep create mode 100644 apps/diskover-linuxserver/2.3.5/docker-compose.yml create mode 100755 apps/diskover-linuxserver/2.3.5/scripts/init.sh create mode 100755 apps/diskover-linuxserver/2.3.5/scripts/uninstall.sh create mode 100755 apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh create mode 100644 apps/diskover-linuxserver/README.md create mode 100644 apps/diskover-linuxserver/data.yml create mode 100644 apps/diskover-linuxserver/latest/.env.sample create mode 100644 apps/diskover-linuxserver/latest/data.yml create mode 100644 apps/diskover-linuxserver/latest/data/.gitkeep create mode 100644 apps/diskover-linuxserver/latest/docker-compose.yml create mode 100755 apps/diskover-linuxserver/latest/scripts/init.sh create mode 100755 apps/diskover-linuxserver/latest/scripts/uninstall.sh create mode 100755 apps/diskover-linuxserver/latest/scripts/upgrade.sh create mode 100644 apps/diskover-linuxserver/logo.png diff --git a/apps/diskover-linuxserver/2.3.5/.env.sample b/apps/diskover-linuxserver/2.3.5/.env.sample new file mode 100644 index 000000000..a6b8fe4b6 --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=80 +CONFIG_PATH=./data/config +DATA_PATH=./data/crawl +ES_DATA_PATH=./data/elasticsearch +TIME_ZONE=Asia/Shanghai diff --git a/apps/diskover-linuxserver/2.3.5/data.yml b/apps/diskover-linuxserver/2.3.5/data.yml new file mode 100644 index 000000000..b98515bf1 --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/data.yml @@ -0,0 +1,83 @@ +additionalProperties: + formFields: + - default: 80 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + ja: HTTP ポート + ko: HTTP 포트 + ru: HTTP-порт + ms: Port HTTP + pt-br: Porta HTTP + required: true + type: number + rule: paramPort + - default: ./data/config + edit: true + envKey: CONFIG_PATH + labelEn: Config folder path + labelZh: 配置文件路径 + label: + en: Config folder path + zh: 配置文件路径 + zh-Hant: 設定檔資料夾路徑 + ja: 設定フォルダーのパス + ko: 설정 폴더 경로 + ru: Путь к папке конфигурации + ms: Laluan folder konfigurasi + pt-br: Caminho da pasta de configuração + required: true + type: text + - default: ./data/crawl + edit: true + envKey: DATA_PATH + labelEn: Data path + labelZh: 数据目录 + label: + en: Data path + zh: 数据目录 + zh-Hant: 資料目錄 + ja: データディレクトリ + ko: 데이터 디렉터리 + ru: Каталог данных + ms: Laluan data + pt-br: Caminho de dados + required: true + type: text + - default: ./data/elasticsearch + edit: true + envKey: ES_DATA_PATH + labelEn: Elasticsearch data path + labelZh: Elasticsearch 数据目录 + label: + en: Elasticsearch data path + zh: Elasticsearch 数据目录 + zh-Hant: Elasticsearch 資料目錄 + ja: Elasticsearch データディレクトリ + ko: Elasticsearch 데이터 디렉터리 + ru: Каталог данных Elasticsearch + ms: Laluan data Elasticsearch + pt-br: Caminho de dados Elasticsearch + required: true + type: text + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + label: + en: Time zone + zh: 时区 + zh-Hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon waktu + pt-br: Fuso horário + required: true + type: text diff --git a/apps/diskover-linuxserver/2.3.5/data/.gitkeep b/apps/diskover-linuxserver/2.3.5/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/diskover-linuxserver/2.3.5/docker-compose.yml b/apps/diskover-linuxserver/2.3.5/docker-compose.yml new file mode 100644 index 000000000..2c8e9e0da --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/docker-compose.yml @@ -0,0 +1,54 @@ +networks: + 1panel-network: + external: true +services: + diskover: + image: "linuxserver/diskover:2.3.5" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + volumes: + - "${CONFIG_PATH}:/config" + - "${DATA_PATH}:/data" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + - ES_HOST=diskover-elasticsearch + - ES_PORT=9200 + mem_limit: 4096m + depends_on: + - diskover-elasticsearch + labels: + createdBy: "Apps" + diskover-elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.22" + restart: always + networks: + - 1panel-network + depends_on: + - diskover-elasticsearch-helper + environment: + - discovery.type=single-node + - xpack.security.enabled=false + - bootstrap.memory_lock=true + - ES_JAVA_OPTS=-Xms1g -Xmx1g + ulimits: + memlock: + soft: -1 + hard: -1 + volumes: + - "${ES_DATA_PATH}:/usr/share/elasticsearch/data" + labels: + createdBy: "Apps" + diskover-elasticsearch-helper: + image: "alpine:3.20" + command: sh -c "sysctl -w vm.max_map_count=262144" + privileged: true + networks: + - 1panel-network + labels: + createdBy: "Apps" diff --git a/apps/diskover-linuxserver/2.3.5/scripts/init.sh b/apps/diskover-linuxserver/2.3.5/scripts/init.sh new file mode 100755 index 000000000..c3baebd28 --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/crawl ./data/elasticsearch +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/diskover-linuxserver/2.3.5/scripts/uninstall.sh b/apps/diskover-linuxserver/2.3.5/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh b/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/diskover-linuxserver/README.md b/apps/diskover-linuxserver/README.md new file mode 100644 index 000000000..237a6c6c0 --- /dev/null +++ b/apps/diskover-linuxserver/README.md @@ -0,0 +1,44 @@ +# Diskover LinuxServer + +## 产品介绍 + +Diskover LinuxServer 使用 LinuxServer.io 维护的 `linuxserver/diskover` 镜像,提供 Diskover 文件系统索引与搜索 能力。 + +## 主要功能 + +- 提供 文件系统索引与 Web 检索 能力 +- 持久化保存配置和业务数据 +- 使用安装表单配置服务端口和数据路径 +- 支持自定义时区 + +## 访问说明 + +安装完成后,通过 HTTP 端口访问 Diskover Web UI。默认账号为 diskover,密码为 darkdata。 + +## 运行说明 + +该应用随包启动 Elasticsearch 7.17.22。根据 LinuxServer 官方 compose 示例,安装时会运行一个短生命周期的 privileged helper,用于设置 `vm.max_map_count=262144`,满足 Elasticsearch 启动要求。 + +## Introduction + +Diskover LinuxServer uses the LinuxServer.io maintained `linuxserver/diskover` image for filesystem indexing and web search. + +## Features + +- Provide filesystem indexing and web search +- Persist configuration and application data +- Configure service ports and data paths from the install form +- Configure the container time zone + +## Access + +After installation, open Diskover from the HTTP port. The default username is diskover and the password is darkdata. + +## Runtime Notes + +This package starts Elasticsearch 7.17.22 alongside Diskover. Following the LinuxServer official compose example, installation runs a short-lived privileged helper to set `vm.max_map_count=262144`, which Elasticsearch requires at startup. + +## Links + +- LinuxServer image documentation: +- Project website: diff --git a/apps/diskover-linuxserver/data.yml b/apps/diskover-linuxserver/data.yml new file mode 100644 index 000000000..005cb53e1 --- /dev/null +++ b/apps/diskover-linuxserver/data.yml @@ -0,0 +1,30 @@ +name: Diskover LinuxServer +tags: +- Storage +title: Diskover 文件系统索引与搜索 +description: Diskover 文件系统索引与搜索 +additionalProperties: + key: diskover-linuxserver + name: Diskover LinuxServer + tags: + - Storage + shortDescZh: Diskover 文件系统索引与搜索 + shortDescEn: Filesystem indexer maintained by LinuxServer.io + description: + en: Filesystem indexer maintained by LinuxServer.io + zh: Diskover 文件系统索引与搜索 + zh-Hant: Diskover 檔案系統索引與搜尋 + ja: LinuxServer.io が保守するファイルシステムインデクサー + ko: LinuxServer.io에서 유지 관리하는 파일 시스템 인덱서 + ru: Индексатор файловой системы, поддерживаемый LinuxServer.io + ms: Pengindeks sistem fail yang diselenggara oleh LinuxServer.io + pt-br: Indexador de sistema de arquivos mantido pela LinuxServer.io + type: tool + crossVersionUpdate: true + limit: 0 + website: https://github.com/diskoverdata/diskover-community + github: https://github.com/linuxserver/docker-diskover + document: https://docs.linuxserver.io/images/docker-diskover/ + architectures: + - amd64 + - arm64 diff --git a/apps/diskover-linuxserver/latest/.env.sample b/apps/diskover-linuxserver/latest/.env.sample new file mode 100644 index 000000000..a6b8fe4b6 --- /dev/null +++ b/apps/diskover-linuxserver/latest/.env.sample @@ -0,0 +1,6 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=80 +CONFIG_PATH=./data/config +DATA_PATH=./data/crawl +ES_DATA_PATH=./data/elasticsearch +TIME_ZONE=Asia/Shanghai diff --git a/apps/diskover-linuxserver/latest/data.yml b/apps/diskover-linuxserver/latest/data.yml new file mode 100644 index 000000000..b98515bf1 --- /dev/null +++ b/apps/diskover-linuxserver/latest/data.yml @@ -0,0 +1,83 @@ +additionalProperties: + formFields: + - default: 80 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: HTTP Port + labelZh: HTTP 端口 + label: + en: HTTP Port + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + ja: HTTP ポート + ko: HTTP 포트 + ru: HTTP-порт + ms: Port HTTP + pt-br: Porta HTTP + required: true + type: number + rule: paramPort + - default: ./data/config + edit: true + envKey: CONFIG_PATH + labelEn: Config folder path + labelZh: 配置文件路径 + label: + en: Config folder path + zh: 配置文件路径 + zh-Hant: 設定檔資料夾路徑 + ja: 設定フォルダーのパス + ko: 설정 폴더 경로 + ru: Путь к папке конфигурации + ms: Laluan folder konfigurasi + pt-br: Caminho da pasta de configuração + required: true + type: text + - default: ./data/crawl + edit: true + envKey: DATA_PATH + labelEn: Data path + labelZh: 数据目录 + label: + en: Data path + zh: 数据目录 + zh-Hant: 資料目錄 + ja: データディレクトリ + ko: 데이터 디렉터리 + ru: Каталог данных + ms: Laluan data + pt-br: Caminho de dados + required: true + type: text + - default: ./data/elasticsearch + edit: true + envKey: ES_DATA_PATH + labelEn: Elasticsearch data path + labelZh: Elasticsearch 数据目录 + label: + en: Elasticsearch data path + zh: Elasticsearch 数据目录 + zh-Hant: Elasticsearch 資料目錄 + ja: Elasticsearch データディレクトリ + ko: Elasticsearch 데이터 디렉터리 + ru: Каталог данных Elasticsearch + ms: Laluan data Elasticsearch + pt-br: Caminho de dados Elasticsearch + required: true + type: text + - default: Asia/Shanghai + edit: true + envKey: TIME_ZONE + labelEn: Time zone + labelZh: 时区 + label: + en: Time zone + zh: 时区 + zh-Hant: 時區 + ja: タイムゾーン + ko: 시간대 + ru: Часовой пояс + ms: Zon waktu + pt-br: Fuso horário + required: true + type: text diff --git a/apps/diskover-linuxserver/latest/data/.gitkeep b/apps/diskover-linuxserver/latest/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/diskover-linuxserver/latest/docker-compose.yml b/apps/diskover-linuxserver/latest/docker-compose.yml new file mode 100644 index 000000000..11a40d57b --- /dev/null +++ b/apps/diskover-linuxserver/latest/docker-compose.yml @@ -0,0 +1,54 @@ +networks: + 1panel-network: + external: true +services: + diskover: + image: "linuxserver/diskover:latest" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:80" + volumes: + - "${CONFIG_PATH}:/config" + - "${DATA_PATH}:/data" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + - ES_HOST=diskover-elasticsearch + - ES_PORT=9200 + mem_limit: 4096m + depends_on: + - diskover-elasticsearch + labels: + createdBy: "Apps" + diskover-elasticsearch: + image: "docker.elastic.co/elasticsearch/elasticsearch:7.17.22" + restart: always + networks: + - 1panel-network + depends_on: + - diskover-elasticsearch-helper + environment: + - discovery.type=single-node + - xpack.security.enabled=false + - bootstrap.memory_lock=true + - ES_JAVA_OPTS=-Xms1g -Xmx1g + ulimits: + memlock: + soft: -1 + hard: -1 + volumes: + - "${ES_DATA_PATH}:/usr/share/elasticsearch/data" + labels: + createdBy: "Apps" + diskover-elasticsearch-helper: + image: "alpine:3.20" + command: sh -c "sysctl -w vm.max_map_count=262144" + privileged: true + networks: + - 1panel-network + labels: + createdBy: "Apps" diff --git a/apps/diskover-linuxserver/latest/scripts/init.sh b/apps/diskover-linuxserver/latest/scripts/init.sh new file mode 100755 index 000000000..c3baebd28 --- /dev/null +++ b/apps/diskover-linuxserver/latest/scripts/init.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +mkdir -p ./data/config ./data/crawl ./data/elasticsearch +chown -R 1000:1000 ./data 2>/dev/null || true diff --git a/apps/diskover-linuxserver/latest/scripts/uninstall.sh b/apps/diskover-linuxserver/latest/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/diskover-linuxserver/latest/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/diskover-linuxserver/latest/scripts/upgrade.sh b/apps/diskover-linuxserver/latest/scripts/upgrade.sh new file mode 100755 index 000000000..6e877466e --- /dev/null +++ b/apps/diskover-linuxserver/latest/scripts/upgrade.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +set -euo pipefail diff --git a/apps/diskover-linuxserver/logo.png b/apps/diskover-linuxserver/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fe05aa22db5dd232e1ce0ab2baebe27b4dea6e17 GIT binary patch literal 2187 zcmah~c{r5o8~&m+O+^}IJCdD2yCKvLqzy8IwXs9BX4=CbIM!BU`9Y zmTWDkEXUZ#GQ`Amj5(IWFqrenb(^X>u4U0R;fy zu$d{^8l0E2s`C~ zRnWY>z0Lc3fcziZ-`dVBEbFy4uMJ3Olo}(`6U;+*zFX6P^7_o=5-?pqZf! zu)#FeBR{**j$<*u47<5?Sf5Qb4p%qKR7iv>Jl0k(OTMl7xY}$(^{~&ZAf1=C@_{Ha z0(rYS|50XkY&M~@LqeapFcu;o?jjcbpQwvUNJ!Wd-fA2(WooYv5&+>gP*bPCV8>C=Meo3(K>NwslW^E)COQqUA2ZnVg*)@hqw zEJ^{Gj60AMbzW%0#z2*tijO9IFxod!EH^T`@zu^!%Vk zR^M(5sJ^3nuIKgOoSi&LNMo#sTS$VsWtj`CbF$l`cHEh6T^2=SNUKl zjH#cObEX^6)ze{3wO1j4vtwX8O9PgB(>_xXPF?rWU*wwW*9__jJb&J(lAkNIM>ku{ zjUaf{0;}?CvQ^%Z5=eOROGPw1k^GYrDbpIti>lS3C)O#BNh`x3iu+D}A&_`Xf|obx zVHnW!%el7AlY^A;_MF&2z#uaN33NQSv?ae(!lemTsVD>QU2>H&7{Wk`hyBPL!xt)? zUV_1D{!H3ue>JWclW}mab+Y6dO%ymzxGPl@hT7}zLL9j}p)6H|t^o{L(O;~&&URDr zcuMR`vDkCtIikwkp&q&A_m`9R0arXfL5mO*#lF{cxup0wM>PzkM*-3!IZx+P6dy!YT@~0K<^yKUy?Jkh=6N?d zSDx6R@XfRof(P8ltl#t@6_IsO3#oF8TndvmFhu=YJibx?KrWDK+Yqmpw`Wq7O>gE+ zCY?@N3rDb@ZE*yK#l)*ZLeuabh5VwAfE!L%S(unEe~vu=S6}*ouPj%`okrk)0ha=z z7F26EzYh!y(1FdZ(s%mZ;jJY#tNAU?uEcfxex|lOru1UPagwQU2010O9Ir51hql1- z1z=F=))+-Mqx!jth6dB?VZdbJhvtP-32+&*T=`p$`C=!P5auyNkrf@?K2n5M3Yz0x z+F15>=5*2+%FbuC+K6m;LJPyC+%d?DmM-p_oaq~P{!VG%kT!E$Z}LwDgW(PMsa}vi zqpH6t*)rNQxV>~-ERmRXVq7K!NH)ljN25!6`f&0U6)PBSvFf#Gq74~Use2dya3vvu z`4-2$4bi0|Z_XN2;%ici9=B)MKOIfBC^+eL^jZ==J^73)gK#THQ?hRAHHO`|IhVGM zaO?COMvP{K4taFRtJNkLPV?-ues-F@UY8@GP&vp9cy4B^@?YP z3PlHLqAgFFFKmVGan`m^5bTUiwFj@Y!j6ntV^lw-OzfhgO%a?=&CUsJMln1fJYcaE zT^vWVg&d{U?LAWH`_+kAWQkL`m(Mo=w0x~VesyI9n5PjgJZ%_v!VRKPB>con|ZTIiLen@lg(9vJLezY#c-wEXeL zIcX`&E$+la?#!FFndaWE-doq$n-ESDrKsTYrBD-ULtk$1YH!$80=smrf&DB=a8;}2 h?4fu6jZP?!pL*ihiv>Te58yKjm>F53D-4|@{sM7~M5F)! literal 0 HcmV?d00001