From 8db6eeea96e8cec3b7ef14e647df0e579f0046b2 Mon Sep 17 00:00:00 2001 From: okxlin <61420215+okxlin@users.noreply.github.com> Date: Thu, 25 Jun 2026 21:56:40 +0800 Subject: [PATCH] Formize LinuxServer embedded service connections --- apps/diskover-linuxserver/2.3.5/.env.sample | 2 + apps/diskover-linuxserver/2.3.5/data.yml | 32 ++++ .../2.3.5/docker-compose.yml | 4 +- .../2.3.5/scripts/upgrade.sh | 27 +++ apps/diskover-linuxserver/README.md | 2 + apps/diskover-linuxserver/latest/.env.sample | 2 + apps/diskover-linuxserver/latest/data.yml | 32 ++++ .../latest/docker-compose.yml | 4 +- .../latest/scripts/upgrade.sh | 27 +++ apps/mastodon-linuxserver/4.6.0/.env.sample | 6 + apps/mastodon-linuxserver/4.6.0/data.yml | 96 +++++++++++ .../4.6.0/docker-compose.yml | 16 +- .../4.6.0/scripts/upgrade.sh | 6 + apps/mastodon-linuxserver/README.md | 6 + apps/mastodon-linuxserver/latest/.env.sample | 6 + apps/mastodon-linuxserver/latest/data.yml | 96 +++++++++++ .../latest/docker-compose.yml | 16 +- .../latest/scripts/upgrade.sh | 6 + apps/netbox-linuxserver/4.6.3/.env.sample | 10 ++ apps/netbox-linuxserver/4.6.3/data.yml | 160 ++++++++++++++++++ .../4.6.3/docker-compose.yml | 24 +-- .../4.6.3/scripts/upgrade.sh | 35 ++++ apps/netbox-linuxserver/README.md | 10 ++ apps/netbox-linuxserver/latest/.env.sample | 10 ++ apps/netbox-linuxserver/latest/data.yml | 160 ++++++++++++++++++ .../latest/docker-compose.yml | 24 +-- .../latest/scripts/upgrade.sh | 35 ++++ 27 files changed, 810 insertions(+), 44 deletions(-) diff --git a/apps/diskover-linuxserver/2.3.5/.env.sample b/apps/diskover-linuxserver/2.3.5/.env.sample index a6b8fe4b6..83086cb51 100644 --- a/apps/diskover-linuxserver/2.3.5/.env.sample +++ b/apps/diskover-linuxserver/2.3.5/.env.sample @@ -3,4 +3,6 @@ PANEL_APP_PORT_HTTP=80 CONFIG_PATH=./data/config DATA_PATH=./data/crawl ES_DATA_PATH=./data/elasticsearch +ES_HOST=diskover-elasticsearch +ES_PORT=9200 TIME_ZONE=Asia/Shanghai diff --git a/apps/diskover-linuxserver/2.3.5/data.yml b/apps/diskover-linuxserver/2.3.5/data.yml index b98515bf1..dd0700a76 100644 --- a/apps/diskover-linuxserver/2.3.5/data.yml +++ b/apps/diskover-linuxserver/2.3.5/data.yml @@ -65,6 +65,38 @@ additionalProperties: pt-br: Caminho de dados Elasticsearch required: true type: text + - default: diskover-elasticsearch + edit: true + envKey: ES_HOST + labelEn: Elasticsearch host + labelZh: Elasticsearch 主机 + label: + en: Elasticsearch host + zh: Elasticsearch 主机 + zh-Hant: Elasticsearch 主機 + ja: Elasticsearch ホスト + ko: Elasticsearch 호스트 + ru: Хост Elasticsearch + ms: Hos Elasticsearch + pt-br: Host do Elasticsearch + required: true + type: text + - default: 9200 + edit: true + envKey: ES_PORT + labelEn: Elasticsearch port + labelZh: Elasticsearch 端口 + label: + en: Elasticsearch port + zh: Elasticsearch 端口 + zh-Hant: Elasticsearch 連接埠 + ja: Elasticsearch ポート + ko: Elasticsearch 포트 + ru: Порт Elasticsearch + ms: Port Elasticsearch + pt-br: Porta do Elasticsearch + required: true + type: number - default: Asia/Shanghai edit: true envKey: TIME_ZONE diff --git a/apps/diskover-linuxserver/2.3.5/docker-compose.yml b/apps/diskover-linuxserver/2.3.5/docker-compose.yml index 2c8e9e0da..90ecf5538 100644 --- a/apps/diskover-linuxserver/2.3.5/docker-compose.yml +++ b/apps/diskover-linuxserver/2.3.5/docker-compose.yml @@ -17,8 +17,8 @@ services: - PUID=1000 - PGID=1000 - TZ=${TIME_ZONE} - - ES_HOST=diskover-elasticsearch - - ES_PORT=9200 + - ES_HOST=${ES_HOST} + - ES_PORT=${ES_PORT} mem_limit: 4096m depends_on: - diskover-elasticsearch diff --git a/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh b/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh index 6e877466e..a7660cf35 100755 --- a/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh +++ b/apps/diskover-linuxserver/2.3.5/scripts/upgrade.sh @@ -1,2 +1,29 @@ #!/usr/bin/env bash set -euo pipefail + +ENV_FILE="${ENV_FILE:-./.env}" + +ensure_env_default() { + local key="$1" + local value="$2" + + if [[ ! -f "$ENV_FILE" ]]; then + echo "$ENV_FILE not found; skipped $key migration" + return + fi + + if grep -qE "^${key}=" "$ENV_FILE"; then + echo "$key already exists" + return + fi + + printf '%s=%s\n' "$key" "$value" >> "$ENV_FILE" + echo "Added $key" +} + +if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "ES_HOST" "diskover-elasticsearch" + ensure_env_default "ES_PORT" "9200" +else + echo "$ENV_FILE not found; skipped LinuxServer environment migration" +fi diff --git a/apps/diskover-linuxserver/README.md b/apps/diskover-linuxserver/README.md index 364d2540f..1998e37ee 100644 --- a/apps/diskover-linuxserver/README.md +++ b/apps/diskover-linuxserver/README.md @@ -29,6 +29,8 @@ Diskover 文件系统索引与搜索。 ## 配置项 | 变量 | 说明 | 默认值 | 必填 | | --- | --- | --- | --- | +| ES_HOST | Elasticsearch 主机 | diskover-elasticsearch | 是 | +| ES_PORT | Elasticsearch 端口 | 9200 | 是 | | TIME_ZONE | 时区 | Asia/Shanghai | 是 | ## 使用说明 diff --git a/apps/diskover-linuxserver/latest/.env.sample b/apps/diskover-linuxserver/latest/.env.sample index a6b8fe4b6..83086cb51 100644 --- a/apps/diskover-linuxserver/latest/.env.sample +++ b/apps/diskover-linuxserver/latest/.env.sample @@ -3,4 +3,6 @@ PANEL_APP_PORT_HTTP=80 CONFIG_PATH=./data/config DATA_PATH=./data/crawl ES_DATA_PATH=./data/elasticsearch +ES_HOST=diskover-elasticsearch +ES_PORT=9200 TIME_ZONE=Asia/Shanghai diff --git a/apps/diskover-linuxserver/latest/data.yml b/apps/diskover-linuxserver/latest/data.yml index b98515bf1..dd0700a76 100644 --- a/apps/diskover-linuxserver/latest/data.yml +++ b/apps/diskover-linuxserver/latest/data.yml @@ -65,6 +65,38 @@ additionalProperties: pt-br: Caminho de dados Elasticsearch required: true type: text + - default: diskover-elasticsearch + edit: true + envKey: ES_HOST + labelEn: Elasticsearch host + labelZh: Elasticsearch 主机 + label: + en: Elasticsearch host + zh: Elasticsearch 主机 + zh-Hant: Elasticsearch 主機 + ja: Elasticsearch ホスト + ko: Elasticsearch 호스트 + ru: Хост Elasticsearch + ms: Hos Elasticsearch + pt-br: Host do Elasticsearch + required: true + type: text + - default: 9200 + edit: true + envKey: ES_PORT + labelEn: Elasticsearch port + labelZh: Elasticsearch 端口 + label: + en: Elasticsearch port + zh: Elasticsearch 端口 + zh-Hant: Elasticsearch 連接埠 + ja: Elasticsearch ポート + ko: Elasticsearch 포트 + ru: Порт Elasticsearch + ms: Port Elasticsearch + pt-br: Porta do Elasticsearch + required: true + type: number - default: Asia/Shanghai edit: true envKey: TIME_ZONE diff --git a/apps/diskover-linuxserver/latest/docker-compose.yml b/apps/diskover-linuxserver/latest/docker-compose.yml index 11a40d57b..5cdbb5ab1 100644 --- a/apps/diskover-linuxserver/latest/docker-compose.yml +++ b/apps/diskover-linuxserver/latest/docker-compose.yml @@ -17,8 +17,8 @@ services: - PUID=1000 - PGID=1000 - TZ=${TIME_ZONE} - - ES_HOST=diskover-elasticsearch - - ES_PORT=9200 + - ES_HOST=${ES_HOST} + - ES_PORT=${ES_PORT} mem_limit: 4096m depends_on: - diskover-elasticsearch diff --git a/apps/diskover-linuxserver/latest/scripts/upgrade.sh b/apps/diskover-linuxserver/latest/scripts/upgrade.sh index 6e877466e..a7660cf35 100755 --- a/apps/diskover-linuxserver/latest/scripts/upgrade.sh +++ b/apps/diskover-linuxserver/latest/scripts/upgrade.sh @@ -1,2 +1,29 @@ #!/usr/bin/env bash set -euo pipefail + +ENV_FILE="${ENV_FILE:-./.env}" + +ensure_env_default() { + local key="$1" + local value="$2" + + if [[ ! -f "$ENV_FILE" ]]; then + echo "$ENV_FILE not found; skipped $key migration" + return + fi + + if grep -qE "^${key}=" "$ENV_FILE"; then + echo "$key already exists" + return + fi + + printf '%s=%s\n' "$key" "$value" >> "$ENV_FILE" + echo "Added $key" +} + +if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "ES_HOST" "diskover-elasticsearch" + ensure_env_default "ES_PORT" "9200" +else + echo "$ENV_FILE not found; skipped LinuxServer environment migration" +fi diff --git a/apps/mastodon-linuxserver/4.6.0/.env.sample b/apps/mastodon-linuxserver/4.6.0/.env.sample index 995cce0aa..0ec08330e 100644 --- a/apps/mastodon-linuxserver/4.6.0/.env.sample +++ b/apps/mastodon-linuxserver/4.6.0/.env.sample @@ -4,6 +4,12 @@ PANEL_APP_PORT_HTTPS=443 CONFIG_PATH=./data/config LOCAL_DOMAIN=example.com WEB_DOMAIN= +REDIS_HOST=mastodon-redis +REDIS_PORT=6379 +DB_HOST=mastodon-db +DB_PORT=5432 +DB_USER=mastodon +DB_NAME=mastodon DB_PASSWORD=mastodon-change-me ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=fGWkJDBwyRYhILyO7akZGLSSz0gAjPpo ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=Z8BE3tc3XnmUr0MbRexRiPN7vcP52VX0 diff --git a/apps/mastodon-linuxserver/4.6.0/data.yml b/apps/mastodon-linuxserver/4.6.0/data.yml index dd542e4b4..dfd670eae 100644 --- a/apps/mastodon-linuxserver/4.6.0/data.yml +++ b/apps/mastodon-linuxserver/4.6.0/data.yml @@ -103,6 +103,102 @@ additionalProperties: value: "false" - label: "true" value: "true" + - default: mastodon-db + edit: true + envKey: DB_HOST + labelEn: Database host + labelZh: 数据库主机 + label: + en: Database host + zh: 数据库主机 + zh-Hant: 資料庫主機 + ja: データベースホスト + ko: 데이터베이스 호스트 + ru: Хост базы данных + ms: Hos pangkalan data + pt-br: Host do banco + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelEn: Database port + labelZh: 数据库端口 + label: + en: Database port + zh: 数据库端口 + zh-Hant: 資料庫連接埠 + ja: データベースポート + ko: 데이터베이스 포트 + ru: Порт базы данных + ms: Port pangkalan data + pt-br: Porta do banco + required: true + type: number + - default: mastodon + edit: true + envKey: DB_USER + labelEn: Database username + labelZh: 数据库用户名 + label: + en: Database username + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ru: Имя пользователя базы + ms: Nama pengguna pangkalan data + pt-br: Usuario do banco + required: true + type: text + - default: mastodon + edit: true + envKey: DB_NAME + labelEn: Database name + labelZh: 数据库名称 + label: + en: Database name + zh: 数据库名称 + zh-Hant: 資料庫名稱 + ja: データベース名 + ko: 데이터베이스 이름 + ru: Имя базы данных + ms: Nama pangkalan data + pt-br: Nome do banco + required: true + type: text + - default: mastodon-redis + edit: true + envKey: REDIS_HOST + labelEn: Redis host + labelZh: Redis 主机 + label: + en: Redis host + zh: Redis 主机 + zh-Hant: Redis 主機 + ja: Redis ホスト + ko: Redis 호스트 + ru: Хост Redis + ms: Hos Redis + pt-br: Host do Redis + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelEn: Redis port + labelZh: Redis 端口 + label: + en: Redis port + zh: Redis 端口 + zh-Hant: Redis 連接埠 + ja: Redis ポート + ko: Redis 포트 + ru: Порт Redis + ms: Port Redis + pt-br: Porta do Redis + required: true + type: number - default: mastodon-change-me edit: true envKey: DB_PASSWORD diff --git a/apps/mastodon-linuxserver/4.6.0/docker-compose.yml b/apps/mastodon-linuxserver/4.6.0/docker-compose.yml index 5b73dbdaf..23bdc5954 100644 --- a/apps/mastodon-linuxserver/4.6.0/docker-compose.yml +++ b/apps/mastodon-linuxserver/4.6.0/docker-compose.yml @@ -18,13 +18,13 @@ services: - PGID=1000 - TZ=${TIME_ZONE} - LOCAL_DOMAIN=${LOCAL_DOMAIN} - - REDIS_HOST=mastodon-redis - - REDIS_PORT=6379 - - DB_HOST=mastodon-db - - DB_USER=mastodon - - DB_NAME=mastodon + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - DB_HOST=${DB_HOST} + - DB_USER=${DB_USER} + - DB_NAME=${DB_NAME} - DB_PASS=${DB_PASSWORD} - - DB_PORT=5432 + - DB_PORT=${DB_PORT} - ES_ENABLED=false - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=${ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY} - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=${ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY} @@ -56,8 +56,8 @@ services: volumes: - "${DB_DATA_PATH}:/var/lib/postgresql/data" environment: - - POSTGRES_DB=mastodon - - POSTGRES_USER=mastodon + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} labels: createdBy: "Apps" diff --git a/apps/mastodon-linuxserver/4.6.0/scripts/upgrade.sh b/apps/mastodon-linuxserver/4.6.0/scripts/upgrade.sh index 206a6692e..f8c71be5a 100755 --- a/apps/mastodon-linuxserver/4.6.0/scripts/upgrade.sh +++ b/apps/mastodon-linuxserver/4.6.0/scripts/upgrade.sh @@ -22,6 +22,12 @@ ensure_env_default() { } if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "REDIS_HOST" "mastodon-redis" + ensure_env_default "REDIS_PORT" "6379" + ensure_env_default "DB_HOST" "mastodon-db" + ensure_env_default "DB_PORT" "5432" + ensure_env_default "DB_USER" "mastodon" + ensure_env_default "DB_NAME" "mastodon" ensure_env_default "MASTODON_PROMETHEUS_EXPORTER_ENABLED" "false" else echo "$ENV_FILE not found; skipped LinuxServer environment migration" diff --git a/apps/mastodon-linuxserver/README.md b/apps/mastodon-linuxserver/README.md index 47d937040..c031b944a 100644 --- a/apps/mastodon-linuxserver/README.md +++ b/apps/mastodon-linuxserver/README.md @@ -34,6 +34,12 @@ Mastodon ActivityPub 社交网络服务。 | LOCAL_DOMAIN | 实例域名 | example.com | 是 | | WEB_DOMAIN | Web 域名 | - | 否 | | MASTODON_PROMETHEUS_EXPORTER_ENABLED | Prometheus 导出器 | false | 否 | +| DB_HOST | 数据库主机 | mastodon-db | 是 | +| DB_PORT | 数据库端口 | 5432 | 是 | +| DB_USER | 数据库用户名 | mastodon | 是 | +| DB_NAME | 数据库名称 | mastodon | 是 | +| REDIS_HOST | Redis 主机 | mastodon-redis | 是 | +| REDIS_PORT | Redis 端口 | 6379 | 是 | | DB_PASSWORD | 数据库密码 | mastodon-change-me | 是 | | ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY | 密钥值 | fGWkJDBwyRYhILyO7akZGLSSz0gAjPpo | 是 | | ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY | 密钥值 | Z8BE3tc3XnmUr0MbRexRiPN7vcP52VX0 | 是 | diff --git a/apps/mastodon-linuxserver/latest/.env.sample b/apps/mastodon-linuxserver/latest/.env.sample index 995cce0aa..0ec08330e 100644 --- a/apps/mastodon-linuxserver/latest/.env.sample +++ b/apps/mastodon-linuxserver/latest/.env.sample @@ -4,6 +4,12 @@ PANEL_APP_PORT_HTTPS=443 CONFIG_PATH=./data/config LOCAL_DOMAIN=example.com WEB_DOMAIN= +REDIS_HOST=mastodon-redis +REDIS_PORT=6379 +DB_HOST=mastodon-db +DB_PORT=5432 +DB_USER=mastodon +DB_NAME=mastodon DB_PASSWORD=mastodon-change-me ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=fGWkJDBwyRYhILyO7akZGLSSz0gAjPpo ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=Z8BE3tc3XnmUr0MbRexRiPN7vcP52VX0 diff --git a/apps/mastodon-linuxserver/latest/data.yml b/apps/mastodon-linuxserver/latest/data.yml index dd542e4b4..dfd670eae 100644 --- a/apps/mastodon-linuxserver/latest/data.yml +++ b/apps/mastodon-linuxserver/latest/data.yml @@ -103,6 +103,102 @@ additionalProperties: value: "false" - label: "true" value: "true" + - default: mastodon-db + edit: true + envKey: DB_HOST + labelEn: Database host + labelZh: 数据库主机 + label: + en: Database host + zh: 数据库主机 + zh-Hant: 資料庫主機 + ja: データベースホスト + ko: 데이터베이스 호스트 + ru: Хост базы данных + ms: Hos pangkalan data + pt-br: Host do banco + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelEn: Database port + labelZh: 数据库端口 + label: + en: Database port + zh: 数据库端口 + zh-Hant: 資料庫連接埠 + ja: データベースポート + ko: 데이터베이스 포트 + ru: Порт базы данных + ms: Port pangkalan data + pt-br: Porta do banco + required: true + type: number + - default: mastodon + edit: true + envKey: DB_USER + labelEn: Database username + labelZh: 数据库用户名 + label: + en: Database username + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ru: Имя пользователя базы + ms: Nama pengguna pangkalan data + pt-br: Usuario do banco + required: true + type: text + - default: mastodon + edit: true + envKey: DB_NAME + labelEn: Database name + labelZh: 数据库名称 + label: + en: Database name + zh: 数据库名称 + zh-Hant: 資料庫名稱 + ja: データベース名 + ko: 데이터베이스 이름 + ru: Имя базы данных + ms: Nama pangkalan data + pt-br: Nome do banco + required: true + type: text + - default: mastodon-redis + edit: true + envKey: REDIS_HOST + labelEn: Redis host + labelZh: Redis 主机 + label: + en: Redis host + zh: Redis 主机 + zh-Hant: Redis 主機 + ja: Redis ホスト + ko: Redis 호스트 + ru: Хост Redis + ms: Hos Redis + pt-br: Host do Redis + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelEn: Redis port + labelZh: Redis 端口 + label: + en: Redis port + zh: Redis 端口 + zh-Hant: Redis 連接埠 + ja: Redis ポート + ko: Redis 포트 + ru: Порт Redis + ms: Port Redis + pt-br: Porta do Redis + required: true + type: number - default: mastodon-change-me edit: true envKey: DB_PASSWORD diff --git a/apps/mastodon-linuxserver/latest/docker-compose.yml b/apps/mastodon-linuxserver/latest/docker-compose.yml index 9ac98dc4c..e83b4f6f6 100644 --- a/apps/mastodon-linuxserver/latest/docker-compose.yml +++ b/apps/mastodon-linuxserver/latest/docker-compose.yml @@ -18,13 +18,13 @@ services: - PGID=1000 - TZ=${TIME_ZONE} - LOCAL_DOMAIN=${LOCAL_DOMAIN} - - REDIS_HOST=mastodon-redis - - REDIS_PORT=6379 - - DB_HOST=mastodon-db - - DB_USER=mastodon - - DB_NAME=mastodon + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - DB_HOST=${DB_HOST} + - DB_USER=${DB_USER} + - DB_NAME=${DB_NAME} - DB_PASS=${DB_PASSWORD} - - DB_PORT=5432 + - DB_PORT=${DB_PORT} - ES_ENABLED=false - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=${ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY} - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=${ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY} @@ -56,8 +56,8 @@ services: volumes: - "${DB_DATA_PATH}:/var/lib/postgresql/data" environment: - - POSTGRES_DB=mastodon - - POSTGRES_USER=mastodon + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} labels: createdBy: "Apps" diff --git a/apps/mastodon-linuxserver/latest/scripts/upgrade.sh b/apps/mastodon-linuxserver/latest/scripts/upgrade.sh index 206a6692e..f8c71be5a 100755 --- a/apps/mastodon-linuxserver/latest/scripts/upgrade.sh +++ b/apps/mastodon-linuxserver/latest/scripts/upgrade.sh @@ -22,6 +22,12 @@ ensure_env_default() { } if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "REDIS_HOST" "mastodon-redis" + ensure_env_default "REDIS_PORT" "6379" + ensure_env_default "DB_HOST" "mastodon-db" + ensure_env_default "DB_PORT" "5432" + ensure_env_default "DB_USER" "mastodon" + ensure_env_default "DB_NAME" "mastodon" ensure_env_default "MASTODON_PROMETHEUS_EXPORTER_ENABLED" "false" else echo "$ENV_FILE not found; skipped LinuxServer environment migration" diff --git a/apps/netbox-linuxserver/4.6.3/.env.sample b/apps/netbox-linuxserver/4.6.3/.env.sample index 056e0916a..7462d9ac8 100644 --- a/apps/netbox-linuxserver/4.6.3/.env.sample +++ b/apps/netbox-linuxserver/4.6.3/.env.sample @@ -4,7 +4,17 @@ CONFIG_PATH=./data/config SUPERUSER_EMAIL=admin@example.com SUPERUSER_PASSWORD=netbox-change-me ALLOWED_HOST=* +DB_NAME=netbox +DB_USER=netbox +DB_HOST=netbox-db +DB_PORT=5432 DB_PASSWORD=netbox-change-me +REDIS_HOST=netbox-redis +REDIS_PORT=6379 +REDIS_USERNAME= +REDIS_PASSWORD= +REDIS_DB_TASK=0 +REDIS_DB_CACHE=1 BASE_PATH= CSRF_TRUSTED_ORIGINS= DB_DATA_PATH=./data/db diff --git a/apps/netbox-linuxserver/4.6.3/data.yml b/apps/netbox-linuxserver/4.6.3/data.yml index 50404ee1c..3233b7b8c 100644 --- a/apps/netbox-linuxserver/4.6.3/data.yml +++ b/apps/netbox-linuxserver/4.6.3/data.yml @@ -82,6 +82,70 @@ additionalProperties: pt-br: Host permitido required: true type: text + - default: netbox-db + edit: true + envKey: DB_HOST + labelEn: Database host + labelZh: 数据库主机 + label: + en: Database host + zh: 数据库主机 + zh-Hant: 資料庫主機 + ja: データベースホスト + ko: 데이터베이스 호스트 + ru: Хост базы данных + ms: Hos pangkalan data + pt-br: Host do banco + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelEn: Database port + labelZh: 数据库端口 + label: + en: Database port + zh: 数据库端口 + zh-Hant: 資料庫連接埠 + ja: データベースポート + ko: 데이터베이스 포트 + ru: Порт базы данных + ms: Port pangkalan data + pt-br: Porta do banco + required: true + type: number + - default: netbox + edit: true + envKey: DB_USER + labelEn: Database username + labelZh: 数据库用户名 + label: + en: Database username + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ru: Имя пользователя базы + ms: Nama pengguna pangkalan data + pt-br: Usuario do banco + required: true + type: text + - default: netbox + edit: true + envKey: DB_NAME + labelEn: Database name + labelZh: 数据库名称 + label: + en: Database name + zh: 数据库名称 + zh-Hant: 資料庫名稱 + ja: データベース名 + ko: 데이터베이스 이름 + ru: Имя базы данных + ms: Nama pangkalan data + pt-br: Nome do banco + required: true + type: text - default: netbox-change-me edit: true envKey: DB_PASSWORD @@ -99,6 +163,102 @@ additionalProperties: required: true type: password rule: paramComplexity + - default: netbox-redis + edit: true + envKey: REDIS_HOST + labelEn: Redis host + labelZh: Redis 主机 + label: + en: Redis host + zh: Redis 主机 + zh-Hant: Redis 主機 + ja: Redis ホスト + ko: Redis 호스트 + ru: Хост Redis + ms: Hos Redis + pt-br: Host do Redis + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelEn: Redis port + labelZh: Redis 端口 + label: + en: Redis port + zh: Redis 端口 + zh-Hant: Redis 連接埠 + ja: Redis ポート + ko: Redis 포트 + ru: Порт Redis + ms: Port Redis + pt-br: Porta do Redis + required: true + type: number + - default: '' + edit: true + envKey: REDIS_USERNAME + labelEn: Redis username + labelZh: Redis 用户名 + label: + en: Redis username + zh: Redis 用户名 + zh-Hant: Redis 使用者名稱 + ja: Redis ユーザー名 + ko: Redis 사용자 이름 + ru: Имя пользователя Redis + ms: Nama pengguna Redis + pt-br: Usuario do Redis + required: false + type: text + - default: '' + edit: true + envKey: REDIS_PASSWORD + labelEn: Redis password + labelZh: Redis 密码 + label: + en: Redis password + zh: Redis 密码 + zh-Hant: Redis 密碼 + ja: Redis パスワード + ko: Redis 비밀번호 + ru: Пароль Redis + ms: Kata laluan Redis + pt-br: Senha do Redis + required: false + type: password + - default: 0 + edit: true + envKey: REDIS_DB_TASK + labelEn: Redis task database + labelZh: Redis 任务数据库 + label: + en: Redis task database + zh: Redis 任务数据库 + zh-Hant: Redis 任務資料庫 + ja: Redis タスクデータベース + ko: Redis 작업 데이터베이스 + ru: База Redis для задач + ms: Pangkalan data tugas Redis + pt-br: Banco Redis de tarefas + required: true + type: number + - default: 1 + edit: true + envKey: REDIS_DB_CACHE + labelEn: Redis cache database + labelZh: Redis 缓存数据库 + label: + en: Redis cache database + zh: Redis 缓存数据库 + zh-Hant: Redis 快取資料庫 + ja: Redis キャッシュデータベース + ko: Redis 캐시 데이터베이스 + ru: База Redis для кэша + ms: Pangkalan data cache Redis + pt-br: Banco Redis de cache + required: true + type: number - default: '' edit: true envKey: BASE_PATH diff --git a/apps/netbox-linuxserver/4.6.3/docker-compose.yml b/apps/netbox-linuxserver/4.6.3/docker-compose.yml index 651d29c7d..fa26de187 100644 --- a/apps/netbox-linuxserver/4.6.3/docker-compose.yml +++ b/apps/netbox-linuxserver/4.6.3/docker-compose.yml @@ -19,17 +19,17 @@ services: - SUPERUSER_EMAIL=${SUPERUSER_EMAIL} - SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD} - ALLOWED_HOST=${ALLOWED_HOST} - - DB_NAME=netbox - - DB_USER=netbox + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - - DB_HOST=netbox-db - - DB_PORT=5432 - - REDIS_HOST=netbox-redis - - REDIS_PORT=6379 - - REDIS_USERNAME= - - REDIS_PASSWORD= - - REDIS_DB_TASK=0 - - REDIS_DB_CACHE=1 + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - REDIS_USERNAME=${REDIS_USERNAME:-} + - REDIS_PASSWORD=${REDIS_PASSWORD:-} + - REDIS_DB_TASK=${REDIS_DB_TASK} + - REDIS_DB_CACHE=${REDIS_DB_CACHE} - BASE_PATH=${BASE_PATH:-} - CSRF_TRUSTED_ORIGINS=${CSRF_TRUSTED_ORIGINS:-} depends_on: @@ -45,8 +45,8 @@ services: volumes: - "${DB_DATA_PATH}:/var/lib/postgresql/data" environment: - - POSTGRES_DB=netbox - - POSTGRES_USER=netbox + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} labels: createdBy: "Apps" diff --git a/apps/netbox-linuxserver/4.6.3/scripts/upgrade.sh b/apps/netbox-linuxserver/4.6.3/scripts/upgrade.sh index 6e877466e..98fb11942 100755 --- a/apps/netbox-linuxserver/4.6.3/scripts/upgrade.sh +++ b/apps/netbox-linuxserver/4.6.3/scripts/upgrade.sh @@ -1,2 +1,37 @@ #!/usr/bin/env bash set -euo pipefail + +ENV_FILE="${ENV_FILE:-./.env}" + +ensure_env_default() { + local key="$1" + local value="$2" + + if [[ ! -f "$ENV_FILE" ]]; then + echo "$ENV_FILE not found; skipped $key migration" + return + fi + + if grep -qE "^${key}=" "$ENV_FILE"; then + echo "$key already exists" + return + fi + + printf '%s=%s\n' "$key" "$value" >> "$ENV_FILE" + echo "Added $key" +} + +if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "DB_NAME" "netbox" + ensure_env_default "DB_USER" "netbox" + ensure_env_default "DB_HOST" "netbox-db" + ensure_env_default "DB_PORT" "5432" + ensure_env_default "REDIS_HOST" "netbox-redis" + ensure_env_default "REDIS_PORT" "6379" + ensure_env_default "REDIS_USERNAME" "" + ensure_env_default "REDIS_PASSWORD" "" + ensure_env_default "REDIS_DB_TASK" "0" + ensure_env_default "REDIS_DB_CACHE" "1" +else + echo "$ENV_FILE not found; skipped LinuxServer environment migration" +fi diff --git a/apps/netbox-linuxserver/README.md b/apps/netbox-linuxserver/README.md index 40cc1b85a..5c6970edf 100644 --- a/apps/netbox-linuxserver/README.md +++ b/apps/netbox-linuxserver/README.md @@ -33,7 +33,17 @@ NetBox IPAM 与机房资产管理。 | SUPERUSER_EMAIL | 管理员邮箱 | admin@example.com | 是 | | SUPERUSER_PASSWORD | 管理员密码 | netbox-change-me | 是 | | ALLOWED_HOST | 允许访问主机 | * | 是 | +| DB_HOST | 数据库主机 | netbox-db | 是 | +| DB_PORT | 数据库端口 | 5432 | 是 | +| DB_USER | 数据库用户名 | netbox | 是 | +| DB_NAME | 数据库名称 | netbox | 是 | | DB_PASSWORD | 数据库密码 | netbox-change-me | 是 | +| REDIS_HOST | Redis 主机 | netbox-redis | 是 | +| REDIS_PORT | Redis 端口 | 6379 | 是 | +| REDIS_USERNAME | Redis 用户名 | - | 否 | +| REDIS_PASSWORD | Redis 密码 | - | 否 | +| REDIS_DB_TASK | Redis 任务数据库 | 0 | 是 | +| REDIS_DB_CACHE | Redis 缓存数据库 | 1 | 是 | | CSRF_TRUSTED_ORIGINS | CSRF 可信来源 | - | 否 | | TIME_ZONE | 时区 | Asia/Shanghai | 是 | diff --git a/apps/netbox-linuxserver/latest/.env.sample b/apps/netbox-linuxserver/latest/.env.sample index 056e0916a..7462d9ac8 100644 --- a/apps/netbox-linuxserver/latest/.env.sample +++ b/apps/netbox-linuxserver/latest/.env.sample @@ -4,7 +4,17 @@ CONFIG_PATH=./data/config SUPERUSER_EMAIL=admin@example.com SUPERUSER_PASSWORD=netbox-change-me ALLOWED_HOST=* +DB_NAME=netbox +DB_USER=netbox +DB_HOST=netbox-db +DB_PORT=5432 DB_PASSWORD=netbox-change-me +REDIS_HOST=netbox-redis +REDIS_PORT=6379 +REDIS_USERNAME= +REDIS_PASSWORD= +REDIS_DB_TASK=0 +REDIS_DB_CACHE=1 BASE_PATH= CSRF_TRUSTED_ORIGINS= DB_DATA_PATH=./data/db diff --git a/apps/netbox-linuxserver/latest/data.yml b/apps/netbox-linuxserver/latest/data.yml index 50404ee1c..8f910fbf2 100644 --- a/apps/netbox-linuxserver/latest/data.yml +++ b/apps/netbox-linuxserver/latest/data.yml @@ -82,6 +82,70 @@ additionalProperties: pt-br: Host permitido required: true type: text + - default: netbox-db + edit: true + envKey: DB_HOST + labelEn: Database host + labelZh: 数据库主机 + label: + en: Database host + zh: 数据库主机 + zh-Hant: 資料庫主機 + ja: データベースホスト + ko: 데이터베이스 호스트 + ru: Хост базы данных + ms: Hos pangkalan data + pt-br: Host do banco + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelEn: Database port + labelZh: 数据库端口 + label: + en: Database port + zh: 数据库端口 + zh-Hant: 資料庫連接埠 + ja: データベースポート + ko: 데이터베이스 포트 + ru: Порт базы данных + ms: Port pangkalan data + pt-br: Porta do banco + required: true + type: number + - default: netbox + edit: true + envKey: DB_USER + labelEn: Database username + labelZh: 数据库用户名 + label: + en: Database username + zh: 数据库用户名 + zh-Hant: 資料庫使用者名稱 + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ru: Имя пользователя базы + ms: Nama pengguna pangkalan data + pt-br: Usuario do banco + required: true + type: text + - default: netbox + edit: true + envKey: DB_NAME + labelEn: Database name + labelZh: 数据库名称 + label: + en: Database name + zh: 数据库名称 + zh-Hant: 資料庫名稱 + ja: データベース名 + ko: 데이터베이스 이름 + ru: Имя базы данных + ms: Nama pangkalan data + pt-br: Nome do banco + required: true + type: text - default: netbox-change-me edit: true envKey: DB_PASSWORD @@ -99,6 +163,102 @@ additionalProperties: required: true type: password rule: paramComplexity + - default: netbox-redis + edit: true + envKey: REDIS_HOST + labelEn: Redis host + labelZh: Redis 主机 + label: + en: Redis host + zh: Redis 主机 + zh-Hant: Redis 主機 + ja: Redis ホスト + ko: Redis 호스트 + ru: Хост Redis + ms: Hos Redis + pt-br: Host do Redis + required: true + type: text + - default: 6379 + edit: true + envKey: REDIS_PORT + labelEn: Redis port + labelZh: Redis 端口 + label: + en: Redis port + zh: Redis 端口 + zh-Hant: Redis 連接埠 + ja: Redis ポート + ko: Redis 포트 + ru: Порт Redis + ms: Port Redis + pt-br: Porta do Redis + required: true + type: number + - default: '' + edit: true + envKey: REDIS_USERNAME + labelEn: Redis username + labelZh: Redis 用户名 + label: + en: Redis username + zh: Redis 用户名 + zh-Hant: Redis 使用者名稱 + ja: Redis ユーザー名 + ko: Redis 사용자 이름 + ru: Имя пользователя Redis + ms: Nama pengguna Redis + pt-br: Usuario do Redis + required: false + type: text + - default: '' + edit: true + envKey: REDIS_PASSWORD + labelEn: Redis password + labelZh: Redis 密码 + label: + en: Redis password + zh: Redis 密码 + zh-Hant: Redis 密碼 + ja: Redis パスワード + ko: Redis 비밀번호 + ru: Пароль Redis + ms: Kata laluan Redis + pt-br: Senha do Redis + required: false + type: password + - default: 0 + edit: true + envKey: REDIS_DB_TASK + labelEn: Redis task database + labelZh: Redis 任务数据库 + label: + en: Redis task database + zh: Redis 任务数据库 + zh-Hant: Redis 任務資料庫 + ja: Redis タスクデータベース + ko: Redis 작업 데이터베이스 + ru: База Redis для задач + ms: Pangkalan data tugas Redis + pt-br: Banco Redis de tarefas + required: true + type: number + - default: 1 + edit: true + envKey: REDIS_DB_CACHE + labelEn: Redis cache database + labelZh: Redis 缓存数据库 + label: + en: Redis cache database + zh: Redis 缓存数据库 + zh-Hant: Redis 快取資料庫 + ja: Redis キャッシュデータベース + ko: Redis 캐시 데이터베ース + ru: База Redis для кэша + ms: Pangkalan data cache Redis + pt-br: Banco Redis de cache + required: true + type: number - default: '' edit: true envKey: BASE_PATH diff --git a/apps/netbox-linuxserver/latest/docker-compose.yml b/apps/netbox-linuxserver/latest/docker-compose.yml index 087866ea1..9c6d2bacd 100644 --- a/apps/netbox-linuxserver/latest/docker-compose.yml +++ b/apps/netbox-linuxserver/latest/docker-compose.yml @@ -19,17 +19,17 @@ services: - SUPERUSER_EMAIL=${SUPERUSER_EMAIL} - SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD} - ALLOWED_HOST=${ALLOWED_HOST} - - DB_NAME=netbox - - DB_USER=netbox + - DB_NAME=${DB_NAME} + - DB_USER=${DB_USER} - DB_PASSWORD=${DB_PASSWORD} - - DB_HOST=netbox-db - - DB_PORT=5432 - - REDIS_HOST=netbox-redis - - REDIS_PORT=6379 - - REDIS_USERNAME= - - REDIS_PASSWORD= - - REDIS_DB_TASK=0 - - REDIS_DB_CACHE=1 + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + - REDIS_USERNAME=${REDIS_USERNAME:-} + - REDIS_PASSWORD=${REDIS_PASSWORD:-} + - REDIS_DB_TASK=${REDIS_DB_TASK} + - REDIS_DB_CACHE=${REDIS_DB_CACHE} - BASE_PATH=${BASE_PATH:-} - CSRF_TRUSTED_ORIGINS=${CSRF_TRUSTED_ORIGINS:-} depends_on: @@ -45,8 +45,8 @@ services: volumes: - "${DB_DATA_PATH}:/var/lib/postgresql/data" environment: - - POSTGRES_DB=netbox - - POSTGRES_USER=netbox + - POSTGRES_DB=${DB_NAME} + - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} labels: createdBy: "Apps" diff --git a/apps/netbox-linuxserver/latest/scripts/upgrade.sh b/apps/netbox-linuxserver/latest/scripts/upgrade.sh index 6e877466e..98fb11942 100755 --- a/apps/netbox-linuxserver/latest/scripts/upgrade.sh +++ b/apps/netbox-linuxserver/latest/scripts/upgrade.sh @@ -1,2 +1,37 @@ #!/usr/bin/env bash set -euo pipefail + +ENV_FILE="${ENV_FILE:-./.env}" + +ensure_env_default() { + local key="$1" + local value="$2" + + if [[ ! -f "$ENV_FILE" ]]; then + echo "$ENV_FILE not found; skipped $key migration" + return + fi + + if grep -qE "^${key}=" "$ENV_FILE"; then + echo "$key already exists" + return + fi + + printf '%s=%s\n' "$key" "$value" >> "$ENV_FILE" + echo "Added $key" +} + +if [[ -f "$ENV_FILE" ]]; then + ensure_env_default "DB_NAME" "netbox" + ensure_env_default "DB_USER" "netbox" + ensure_env_default "DB_HOST" "netbox-db" + ensure_env_default "DB_PORT" "5432" + ensure_env_default "REDIS_HOST" "netbox-redis" + ensure_env_default "REDIS_PORT" "6379" + ensure_env_default "REDIS_USERNAME" "" + ensure_env_default "REDIS_PASSWORD" "" + ensure_env_default "REDIS_DB_TASK" "0" + ensure_env_default "REDIS_DB_CACHE" "1" +else + echo "$ENV_FILE not found; skipped LinuxServer environment migration" +fi