Formize LinuxServer embedded storage settings

This commit is contained in:
okxlin
2026-06-25 21:08:22 +08:00
parent 4474436205
commit d113bfe207
36 changed files with 479 additions and 22 deletions
@@ -3,6 +3,7 @@ PANEL_APP_PORT_HTTP=80
CONFIG_PATH=./data/config
APP_KEY=base64:dGVzdGluZy1saW51eHNlcnZlci1hcHBzLTEyMzQ1Njc=
APP_URL=
DB_CONNECTION=sqlite
TIME_ZONE=Asia/Shanghai
DISPLAY_TIMEZONE=Asia/Shanghai
SPEEDTEST_SCHEDULE=0 */6 * * *
@@ -66,6 +66,25 @@ additionalProperties:
pt-br: URL da aplicacao
required: false
type: text
- default: sqlite
edit: true
envKey: DB_CONNECTION
labelEn: Database connection
labelZh: 数据库连接
label:
en: Database connection
zh: 数据库连接
zh-Hant: 資料庫連線
ja: データベース接続
ko: 데이터베이스 연결
ru: Подключение к базе данных
ms: Sambungan pangkalan data
pt-br: Conexao do banco de dados
required: true
type: select
values:
- label: sqlite
value: sqlite
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
@@ -18,7 +18,7 @@ services:
- TZ=${TIME_ZONE}
- APP_KEY=${APP_KEY}
- APP_URL=${APP_URL}
- DB_CONNECTION=sqlite
- DB_CONNECTION=${DB_CONNECTION}
- DISPLAY_TIMEZONE=${DISPLAY_TIMEZONE}
- SPEEDTEST_SCHEDULE=${SPEEDTEST_SCHEDULE:-}
- SPEEDTEST_SERVERS=${SPEEDTEST_SERVERS:-}
@@ -22,6 +22,7 @@ ensure_env_default() {
}
if [[ -f "$ENV_FILE" ]]; then
ensure_env_default "DB_CONNECTION" "sqlite"
ensure_env_default "PRUNE_RESULTS_OLDER_THAN" "0"
ensure_env_default "DISPLAY_TIMEZONE" "Asia/Shanghai"
else
@@ -29,6 +29,7 @@ Speedtest Tracker 网速监测。
| --- | --- | --- | --- |
| APP_KEY | 应用密钥 | base64:dGVzdGluZy1saW51eHNlcnZlci1hcHBzLTEyMzQ1Njc= | 是 |
| APP_URL | 应用访问 URL | - | 否 |
| DB_CONNECTION | 数据库连接 | sqlite | 是 |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
| DISPLAY_TIMEZONE | 显示时区 | Asia/Shanghai | 否 |
| SPEEDTEST_SCHEDULE | 测速计划 | 0 */6 * * * | 否 |
@@ -3,6 +3,7 @@ PANEL_APP_PORT_HTTP=80
CONFIG_PATH=./data/config
APP_KEY=base64:dGVzdGluZy1saW51eHNlcnZlci1hcHBzLTEyMzQ1Njc=
APP_URL=
DB_CONNECTION=sqlite
TIME_ZONE=Asia/Shanghai
DISPLAY_TIMEZONE=Asia/Shanghai
SPEEDTEST_SCHEDULE=0 */6 * * *
@@ -66,6 +66,25 @@ additionalProperties:
pt-br: URL da aplicacao
required: false
type: text
- default: sqlite
edit: true
envKey: DB_CONNECTION
labelEn: Database connection
labelZh: 数据库连接
label:
en: Database connection
zh: 数据库连接
zh-Hant: 資料庫連線
ja: データベース接続
ko: 데이터베이스 연결
ru: Подключение к базе данных
ms: Sambungan pangkalan data
pt-br: Conexao do banco de dados
required: true
type: select
values:
- label: sqlite
value: sqlite
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
@@ -18,7 +18,7 @@ services:
- TZ=${TIME_ZONE}
- APP_KEY=${APP_KEY}
- APP_URL=${APP_URL}
- DB_CONNECTION=sqlite
- DB_CONNECTION=${DB_CONNECTION}
- DISPLAY_TIMEZONE=${DISPLAY_TIMEZONE}
- SPEEDTEST_SCHEDULE=${SPEEDTEST_SCHEDULE:-}
- SPEEDTEST_SERVERS=${SPEEDTEST_SERVERS:-}
@@ -22,6 +22,7 @@ ensure_env_default() {
}
if [[ -f "$ENV_FILE" ]]; then
ensure_env_default "DB_CONNECTION" "sqlite"
ensure_env_default "PRUNE_RESULTS_OLDER_THAN" "0"
ensure_env_default "DISPLAY_TIMEZONE" "Asia/Shanghai"
else
@@ -6,7 +6,13 @@ PANEL_APP_PORT_INFORM=8080
CONFIG_PATH=./data/config
MONGO_DATA_PATH=./data/mongo
MONGO_INIT_PATH=./data/mongo-init
MONGO_USER=unifi
MONGO_PASS=unifi-change-me
MONGO_HOST=unifi-db
MONGO_PORT=27017
MONGO_DBNAME=unifi
MONGO_AUTHSOURCE=admin
MONGO_TLS=false
MEM_LIMIT=1024
MEM_STARTUP=1024
TIME_ZONE=Asia/Shanghai
@@ -101,6 +101,107 @@ additionalProperties:
required: true
type: password
rule: paramComplexity
- default: unifi
edit: true
envKey: MONGO_USER
labelEn: Mongo user
labelZh: Mongo 用户
label:
en: Mongo user
zh: Mongo 用户
zh-Hant: Mongo 使用者
ja: Mongo ユーザー
ko: Mongo 사용자
ru: Пользователь Mongo
ms: Pengguna Mongo
pt-br: Usuario Mongo
required: true
type: text
- default: unifi-db
edit: true
envKey: MONGO_HOST
labelEn: Mongo host
labelZh: Mongo 主机
label:
en: Mongo host
zh: Mongo 主机
zh-Hant: Mongo 主機
ja: Mongo ホスト
ko: Mongo 호스트
ru: Хост Mongo
ms: Hos Mongo
pt-br: Host Mongo
required: true
type: text
- default: 27017
edit: true
envKey: MONGO_PORT
labelEn: Mongo port
labelZh: Mongo 端口
label:
en: Mongo port
zh: Mongo 端口
zh-Hant: Mongo 連接埠
ja: Mongo ポート
ko: Mongo 포트
ru: Порт Mongo
ms: Port Mongo
pt-br: Porta Mongo
required: true
type: number
- default: unifi
edit: true
envKey: MONGO_DBNAME
labelEn: Mongo database
labelZh: Mongo 数据库
label:
en: Mongo database
zh: Mongo 数据库
zh-Hant: Mongo 資料庫
ja: Mongo データベース
ko: Mongo 데이터베이스
ru: База данных Mongo
ms: Pangkalan data Mongo
pt-br: Banco de dados Mongo
required: true
type: text
- default: admin
edit: true
envKey: MONGO_AUTHSOURCE
labelEn: Mongo auth source
labelZh: Mongo 认证库
label:
en: Mongo auth source
zh: Mongo 认证库
zh-Hant: Mongo 認證庫
ja: Mongo 認証ソース
ko: Mongo 인증 소스
ru: Источник авторизации Mongo
ms: Sumber pengesahan Mongo
pt-br: Fonte de autenticacao Mongo
required: true
type: text
- default: "false"
edit: true
envKey: MONGO_TLS
labelEn: Mongo TLS
labelZh: Mongo TLS
label:
en: Mongo TLS
zh: Mongo TLS
zh-Hant: Mongo TLS
ja: Mongo TLS
ko: Mongo TLS
ru: Mongo TLS
ms: Mongo TLS
pt-br: Mongo TLS
required: false
type: select
values:
- label: "false"
value: "false"
- label: "true"
value: "true"
- default: ./data/mongo
edit: true
envKey: MONGO_DATA_PATH
@@ -21,12 +21,13 @@ services:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- MONGO_USER=unifi
- MONGO_USER=${MONGO_USER}
- MONGO_PASS=${MONGO_PASS}
- MONGO_HOST=unifi-db
- MONGO_PORT=27017
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
- MONGO_HOST=${MONGO_HOST}
- MONGO_PORT=${MONGO_PORT}
- MONGO_DBNAME=${MONGO_DBNAME}
- MONGO_AUTHSOURCE=${MONGO_AUTHSOURCE}
- MONGO_TLS=${MONGO_TLS}
- MEM_LIMIT=${MEM_LIMIT}
- MEM_STARTUP=${MEM_STARTUP}
labels:
@@ -42,9 +43,9 @@ services:
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASS}
- MONGO_USER=unifi
- MONGO_USER=${MONGO_USER}
- MONGO_PASS=${MONGO_PASS}
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
- MONGO_DBNAME=${MONGO_DBNAME}
- MONGO_AUTHSOURCE=${MONGO_AUTHSOURCE}
labels:
createdBy: "Apps"
@@ -59,6 +59,12 @@ EOF
if [[ -f "$ENV_FILE" ]]; then
ensure_env_default "MONGO_INIT_PATH" "./data/mongo-init"
ensure_env_default "MONGO_USER" "unifi"
ensure_env_default "MONGO_HOST" "unifi-db"
ensure_env_default "MONGO_PORT" "27017"
ensure_env_default "MONGO_DBNAME" "unifi"
ensure_env_default "MONGO_AUTHSOURCE" "admin"
ensure_env_default "MONGO_TLS" "false"
fi
mongo_init_path="${MONGO_INIT_PATH:-$(read_env_value MONGO_INIT_PATH)}"
@@ -33,6 +33,12 @@ UniFi Network 网络控制器。
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| MONGO_PASS | Mongo 密码 | unifi-change-me | 是 |
| MONGO_USER | Mongo 用户 | unifi | 是 |
| MONGO_HOST | Mongo 主机 | unifi-db | 是 |
| MONGO_PORT | Mongo 端口 | 27017 | 是 |
| MONGO_DBNAME | Mongo 数据库 | unifi | 是 |
| MONGO_AUTHSOURCE | Mongo 认证库 | admin | 是 |
| MONGO_TLS | Mongo TLS | false | 否 |
| MEM_LIMIT | 内存限制 MB | 1024 | 是 |
| MEM_STARTUP | 启动内存 MB | 1024 | 是 |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
@@ -6,7 +6,13 @@ PANEL_APP_PORT_INFORM=8080
CONFIG_PATH=./data/config
MONGO_DATA_PATH=./data/mongo
MONGO_INIT_PATH=./data/mongo-init
MONGO_USER=unifi
MONGO_PASS=unifi-change-me
MONGO_HOST=unifi-db
MONGO_PORT=27017
MONGO_DBNAME=unifi
MONGO_AUTHSOURCE=admin
MONGO_TLS=false
MEM_LIMIT=1024
MEM_STARTUP=1024
TIME_ZONE=Asia/Shanghai
@@ -101,6 +101,107 @@ additionalProperties:
required: true
type: password
rule: paramComplexity
- default: unifi
edit: true
envKey: MONGO_USER
labelEn: Mongo user
labelZh: Mongo 用户
label:
en: Mongo user
zh: Mongo 用户
zh-Hant: Mongo 使用者
ja: Mongo ユーザー
ko: Mongo 사용자
ru: Пользователь Mongo
ms: Pengguna Mongo
pt-br: Usuario Mongo
required: true
type: text
- default: unifi-db
edit: true
envKey: MONGO_HOST
labelEn: Mongo host
labelZh: Mongo 主机
label:
en: Mongo host
zh: Mongo 主机
zh-Hant: Mongo 主機
ja: Mongo ホスト
ko: Mongo 호스트
ru: Хост Mongo
ms: Hos Mongo
pt-br: Host Mongo
required: true
type: text
- default: 27017
edit: true
envKey: MONGO_PORT
labelEn: Mongo port
labelZh: Mongo 端口
label:
en: Mongo port
zh: Mongo 端口
zh-Hant: Mongo 連接埠
ja: Mongo ポート
ko: Mongo 포트
ru: Порт Mongo
ms: Port Mongo
pt-br: Porta Mongo
required: true
type: number
- default: unifi
edit: true
envKey: MONGO_DBNAME
labelEn: Mongo database
labelZh: Mongo 数据库
label:
en: Mongo database
zh: Mongo 数据库
zh-Hant: Mongo 資料庫
ja: Mongo データベース
ko: Mongo 데이터베이스
ru: База данных Mongo
ms: Pangkalan data Mongo
pt-br: Banco de dados Mongo
required: true
type: text
- default: admin
edit: true
envKey: MONGO_AUTHSOURCE
labelEn: Mongo auth source
labelZh: Mongo 认证库
label:
en: Mongo auth source
zh: Mongo 认证库
zh-Hant: Mongo 認證庫
ja: Mongo 認証ソース
ko: Mongo 인증 소스
ru: Источник авторизации Mongo
ms: Sumber pengesahan Mongo
pt-br: Fonte de autenticacao Mongo
required: true
type: text
- default: "false"
edit: true
envKey: MONGO_TLS
labelEn: Mongo TLS
labelZh: Mongo TLS
label:
en: Mongo TLS
zh: Mongo TLS
zh-Hant: Mongo TLS
ja: Mongo TLS
ko: Mongo TLS
ru: Mongo TLS
ms: Mongo TLS
pt-br: Mongo TLS
required: false
type: select
values:
- label: "false"
value: "false"
- label: "true"
value: "true"
- default: ./data/mongo
edit: true
envKey: MONGO_DATA_PATH
@@ -21,12 +21,13 @@ services:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- MONGO_USER=unifi
- MONGO_USER=${MONGO_USER}
- MONGO_PASS=${MONGO_PASS}
- MONGO_HOST=unifi-db
- MONGO_PORT=27017
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
- MONGO_HOST=${MONGO_HOST}
- MONGO_PORT=${MONGO_PORT}
- MONGO_DBNAME=${MONGO_DBNAME}
- MONGO_AUTHSOURCE=${MONGO_AUTHSOURCE}
- MONGO_TLS=${MONGO_TLS}
- MEM_LIMIT=${MEM_LIMIT}
- MEM_STARTUP=${MEM_STARTUP}
labels:
@@ -42,9 +43,9 @@ services:
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_PASS}
- MONGO_USER=unifi
- MONGO_USER=${MONGO_USER}
- MONGO_PASS=${MONGO_PASS}
- MONGO_DBNAME=unifi
- MONGO_AUTHSOURCE=admin
- MONGO_DBNAME=${MONGO_DBNAME}
- MONGO_AUTHSOURCE=${MONGO_AUTHSOURCE}
labels:
createdBy: "Apps"
@@ -59,6 +59,12 @@ EOF
if [[ -f "$ENV_FILE" ]]; then
ensure_env_default "MONGO_INIT_PATH" "./data/mongo-init"
ensure_env_default "MONGO_USER" "unifi"
ensure_env_default "MONGO_HOST" "unifi-db"
ensure_env_default "MONGO_PORT" "27017"
ensure_env_default "MONGO_DBNAME" "unifi"
ensure_env_default "MONGO_AUTHSOURCE" "admin"
ensure_env_default "MONGO_TLS" "false"
fi
mongo_init_path="${MONGO_INIT_PATH:-$(read_env_value MONGO_INIT_PATH)}"
@@ -2,4 +2,5 @@ CONTAINER_NAME=
PANEL_APP_PORT_HTTP=3000
CONFIG_PATH=./data/config
DATA_PATH=./data/wiki
DB_TYPE=sqlite
TIME_ZONE=Asia/Shanghai
+19
View File
@@ -49,6 +49,25 @@ additionalProperties:
pt-br: Caminho de dados Wiki
required: true
type: text
- default: sqlite
edit: true
envKey: DB_TYPE
labelEn: Database type
labelZh: 数据库类型
label:
en: Database type
zh: 数据库类型
zh-Hant: 資料庫類型
ja: データベース種別
ko: 데이터베이스 유형
ru: Тип базы данных
ms: Jenis pangkalan data
pt-br: Tipo de banco de dados
required: true
type: select
values:
- label: sqlite
value: sqlite
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
@@ -17,6 +17,6 @@ services:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- DB_TYPE=sqlite
- DB_TYPE=${DB_TYPE}
labels:
createdBy: "Apps"
@@ -1,2 +1,28 @@
#!/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_TYPE" "sqlite"
else
echo "$ENV_FILE not found; skipped LinuxServer environment migration"
fi
+1
View File
@@ -28,6 +28,7 @@ Wiki.js 知识库 Wiki。
## 配置项
| 变量 | 说明 | 默认值 | 必填 |
| --- | --- | --- | --- |
| DB_TYPE | 数据库类型 | sqlite | 是 |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
## 使用说明
@@ -2,4 +2,5 @@ CONTAINER_NAME=
PANEL_APP_PORT_HTTP=3000
CONFIG_PATH=./data/config
DATA_PATH=./data/wiki
DB_TYPE=sqlite
TIME_ZONE=Asia/Shanghai
+19
View File
@@ -49,6 +49,25 @@ additionalProperties:
pt-br: Caminho de dados Wiki
required: true
type: text
- default: sqlite
edit: true
envKey: DB_TYPE
labelEn: Database type
labelZh: 数据库类型
label:
en: Database type
zh: 数据库类型
zh-Hant: 資料庫類型
ja: データベース種別
ko: 데이터베이스 유형
ru: Тип базы данных
ms: Jenis pangkalan data
pt-br: Tipo de banco de dados
required: true
type: select
values:
- label: sqlite
value: sqlite
- default: Asia/Shanghai
edit: true
envKey: TIME_ZONE
@@ -17,6 +17,6 @@ services:
- PUID=1000
- PGID=1000
- TZ=${TIME_ZONE}
- DB_TYPE=sqlite
- DB_TYPE=${DB_TYPE}
labels:
createdBy: "Apps"
@@ -1,2 +1,28 @@
#!/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_TYPE" "sqlite"
else
echo "$ENV_FILE not found; skipped LinuxServer environment migration"
fi
@@ -6,5 +6,6 @@ SPOTIFY_PUBLIC=replace-with-client-id
SPOTIFY_SECRET=replace-with-client-secret
SPOTIFY_API_DELAY_MS=2000
CORS=all
MONGO_ENDPOINT=mongodb://your-spotify-mongo:27017/your_spotify
MONGO_DATA_PATH=./data/mongo
TIME_ZONE=Asia/Shanghai
@@ -116,6 +116,22 @@ additionalProperties:
pt-br: Origens CORS
required: true
type: text
- default: mongodb://your-spotify-mongo:27017/your_spotify
edit: true
envKey: MONGO_ENDPOINT
labelEn: Mongo endpoint
labelZh: Mongo 连接地址
label:
en: Mongo endpoint
zh: Mongo 连接地址
zh-Hant: Mongo 連線位址
ja: Mongo エンドポイント
ko: Mongo 엔드포인트
ru: Конечная точка Mongo
ms: Titik akhir Mongo
pt-br: Endpoint Mongo
required: true
type: text
- default: ./data/mongo
edit: true
envKey: MONGO_DATA_PATH
@@ -22,7 +22,7 @@ services:
- SPOTIFY_SECRET=${SPOTIFY_SECRET}
- SPOTIFY_API_DELAY_MS=${SPOTIFY_API_DELAY_MS}
- CORS=${CORS}
- MONGO_ENDPOINT=mongodb://your-spotify-mongo:27017/your_spotify
- MONGO_ENDPOINT=${MONGO_ENDPOINT}
labels:
createdBy: "Apps"
your-spotify-mongo:
@@ -1,2 +1,28 @@
#!/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 "MONGO_ENDPOINT" "mongodb://your-spotify-mongo:27017/your_spotify"
else
echo "$ENV_FILE not found; skipped LinuxServer environment migration"
fi
+1
View File
@@ -33,6 +33,7 @@ Your Spotify 听歌统计面板。
| SPOTIFY_SECRET | Spotify 客户端密钥 | replace-with-client-secret | 是 |
| SPOTIFY_API_DELAY_MS | Spotify API 延迟毫秒 | 2000 | 是 |
| CORS | CORS 来源 | all | 是 |
| MONGO_ENDPOINT | Mongo 连接地址 | mongodb://your-spotify-mongo:27017/your_spotify | 是 |
| TIME_ZONE | 时区 | Asia/Shanghai | 是 |
## 使用说明
@@ -6,5 +6,6 @@ SPOTIFY_PUBLIC=replace-with-client-id
SPOTIFY_SECRET=replace-with-client-secret
SPOTIFY_API_DELAY_MS=2000
CORS=all
MONGO_ENDPOINT=mongodb://your-spotify-mongo:27017/your_spotify
MONGO_DATA_PATH=./data/mongo
TIME_ZONE=Asia/Shanghai
@@ -116,6 +116,22 @@ additionalProperties:
pt-br: Origens CORS
required: true
type: text
- default: mongodb://your-spotify-mongo:27017/your_spotify
edit: true
envKey: MONGO_ENDPOINT
labelEn: Mongo endpoint
labelZh: Mongo 连接地址
label:
en: Mongo endpoint
zh: Mongo 连接地址
zh-Hant: Mongo 連線位址
ja: Mongo エンドポイント
ko: Mongo 엔드포인트
ru: Конечная точка Mongo
ms: Titik akhir Mongo
pt-br: Endpoint Mongo
required: true
type: text
- default: ./data/mongo
edit: true
envKey: MONGO_DATA_PATH
@@ -22,7 +22,7 @@ services:
- SPOTIFY_SECRET=${SPOTIFY_SECRET}
- SPOTIFY_API_DELAY_MS=${SPOTIFY_API_DELAY_MS}
- CORS=${CORS}
- MONGO_ENDPOINT=mongodb://your-spotify-mongo:27017/your_spotify
- MONGO_ENDPOINT=${MONGO_ENDPOINT}
labels:
createdBy: "Apps"
your-spotify-mongo:
@@ -1,2 +1,28 @@
#!/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 "MONGO_ENDPOINT" "mongodb://your-spotify-mongo:27017/your_spotify"
else
echo "$ENV_FILE not found; skipped LinuxServer environment migration"
fi