Add LinuxServer Diskover adapter

This commit is contained in:
okxlin
2026-06-24 19:53:41 +08:00
parent 5cd3759526
commit 00c463799d
17 changed files with 376 additions and 0 deletions
@@ -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
+83
View File
@@ -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
@@ -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"
+4
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
docker-compose down --volumes
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env bash
set -euo pipefail
+44
View File
@@ -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: <https://docs.linuxserver.io/images/docker-diskover/>
- Project website: <https://github.com/diskoverdata/diskover-community>
+30
View File
@@ -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
@@ -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
+83
View File
@@ -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
@@ -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"
+4
View File
@@ -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
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
docker-compose down --volumes
+2
View File
@@ -0,0 +1,2 @@
#!/usr/bin/env bash
set -euo pipefail
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB