diff --git a/apps/hedgedoc-linuxserver/1.12.2/.env.sample b/apps/hedgedoc-linuxserver/1.12.2/.env.sample new file mode 100644 index 000000000..d48972a3f --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/.env.sample @@ -0,0 +1,16 @@ +CONTAINER_NAME= +PANEL_APP_PORT_HTTP=3000 +CONFIG_PATH=./data/config +DB_HOST=hedgedoc-db +DB_PORT=3306 +DB_USER=hedgedoc +DB_NAME=hedgedoc +DB_PASSWORD=hedgedoc-change-me +CMD_DOMAIN=localhost +CMD_URL_ADDPORT=true +CMD_PROTOCOL_USESSL=false +CMD_PORT=3000 +CMD_ALLOW_ORIGIN=['localhost'] +CMD_DB_DIALECT=mariadb +DB_DATA_PATH=./data/db +TIME_ZONE=Asia/Shanghai diff --git a/apps/hedgedoc-linuxserver/1.12.2/data.yml b/apps/hedgedoc-linuxserver/1.12.2/data.yml new file mode 100644 index 000000000..b58065866 --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/data.yml @@ -0,0 +1,257 @@ +additionalProperties: + formFields: + - default: 3000 + 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: hedgedoc-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: 3306 + 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: hedgedoc + 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: hedgedoc + 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: hedgedoc-change-me + edit: true + envKey: DB_PASSWORD + labelEn: Database password + labelZh: 数据库密码 + label: + en: Database password + zh: 数据库密码 + zh-Hant: 資料庫密碼 + ja: データベースパスワード + ko: 데이터베이스 비밀번호 + ru: Пароль базы данных + ms: Kata laluan pangkalan data + pt-br: Senha do banco de dados + required: true + type: password + rule: paramComplexity + - default: localhost + edit: true + envKey: CMD_DOMAIN + labelEn: Access domain + labelZh: 访问域名 + label: + en: Access domain + zh: 访问域名 + zh-Hant: 存取網域 + ja: アクセスドメイン + ko: 접속 도메인 + ru: Домен доступа + ms: Domain akses + pt-br: Dominio de acesso + required: true + type: text + - default: "true" + edit: true + envKey: CMD_URL_ADDPORT + labelEn: Add port to URL + labelZh: URL 添加端口 + label: + en: Add port to URL + zh: URL 添加端口 + zh-Hant: URL 加入連接埠 + ja: URL にポートを追加 + ko: URL에 포트 추가 + ru: Добавлять порт в URL + ms: Tambah port pada URL + pt-br: Adicionar porta a URL + required: false + type: select + values: + - label: "true" + value: "true" + - label: "false" + value: "false" + - default: "false" + edit: true + envKey: CMD_PROTOCOL_USESSL + labelEn: Use HTTPS protocol + labelZh: 使用 HTTPS 协议 + label: + en: Use HTTPS protocol + zh: 使用 HTTPS 协议 + zh-Hant: 使用 HTTPS 通訊協定 + ja: HTTPS プロトコルを使用 + ko: HTTPS 프로토콜 사용 + ru: Использовать протокол HTTPS + ms: Gunakan protokol HTTPS + pt-br: Usar protocolo HTTPS + required: false + type: select + values: + - label: "true" + value: "true" + - label: "false" + value: "false" + - default: 3000 + edit: true + envKey: CMD_PORT + labelEn: Internal application port + labelZh: 应用内部端口 + label: + en: Internal application port + zh: 应用内部端口 + zh-Hant: 應用程式內部連接埠 + ja: アプリケーション内部ポート + ko: 애플리케이션 내부 포트 + ru: Внутренний порт приложения + ms: Port dalaman aplikasi + pt-br: Porta interna do aplicativo + required: true + type: number + - default: "['localhost']" + edit: true + envKey: CMD_ALLOW_ORIGIN + labelEn: Allowed origins + labelZh: 允许的来源 + label: + en: Allowed origins + zh: 允许的来源 + zh-Hant: 允許的來源 + ja: 許可されたオリジン + ko: 허용된 출처 + ru: Разрешенные источники + ms: Asal dibenarkan + pt-br: Origens permitidas + required: false + type: text + - default: mariadb + edit: true + envKey: CMD_DB_DIALECT + labelEn: Database dialect + labelZh: 数据库类型 + label: + en: Database dialect + zh: 数据库类型 + zh-Hant: 資料庫類型 + ja: データベース種別 + ko: 데이터베이스 유형 + ru: Тип базы данных + ms: Jenis pangkalan data + pt-br: Tipo do banco + required: true + type: select + values: + - label: mariadb + value: mariadb + - default: ./data/db + edit: true + envKey: DB_DATA_PATH + labelEn: Database data path + labelZh: 数据库数据目录 + label: + en: Database data path + zh: 数据库数据目录 + zh-Hant: 資料庫資料目錄 + ja: データベースデータディレクトリ + ko: 데이터베이스 데이터 디렉터리 + ru: Каталог данных базы + ms: Laluan data pangkalan data + pt-br: Caminho de dados do banco + 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/hedgedoc-linuxserver/1.12.2/data/.gitkeep b/apps/hedgedoc-linuxserver/1.12.2/data/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/apps/hedgedoc-linuxserver/1.12.2/docker-compose.yml b/apps/hedgedoc-linuxserver/1.12.2/docker-compose.yml new file mode 100644 index 000000000..82c88c849 --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/docker-compose.yml @@ -0,0 +1,47 @@ +networks: + 1panel-network: + external: true +services: + hedgedoc: + image: "linuxserver/hedgedoc:1.12.2" + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:${CMD_PORT}" + volumes: + - "${CONFIG_PATH}:/config" + environment: + - PUID=1000 + - PGID=1000 + - TZ=${TIME_ZONE} + - DB_HOST=${DB_HOST} + - DB_PORT=${DB_PORT} + - DB_USER=${DB_USER} + - DB_PASS=${DB_PASSWORD} + - DB_NAME=${DB_NAME} + - CMD_DOMAIN=${CMD_DOMAIN} + - CMD_URL_ADDPORT=${CMD_URL_ADDPORT} + - CMD_PROTOCOL_USESSL=${CMD_PROTOCOL_USESSL} + - CMD_PORT=${CMD_PORT} + - CMD_ALLOW_ORIGIN=${CMD_ALLOW_ORIGIN} + - CMD_DB_DIALECT=${CMD_DB_DIALECT} + depends_on: + - hedgedoc-db + labels: + createdBy: "Apps" + hedgedoc-db: + image: "mariadb:11.4" + restart: always + networks: + - 1panel-network + volumes: + - "${DB_DATA_PATH}:/var/lib/mysql" + environment: + - MARIADB_ROOT_PASSWORD=${DB_PASSWORD} + - MARIADB_DATABASE=${DB_NAME} + - MARIADB_USER=${DB_USER} + - MARIADB_PASSWORD=${DB_PASSWORD} + labels: + createdBy: "Apps" diff --git a/apps/hedgedoc-linuxserver/1.12.2/scripts/init.sh b/apps/hedgedoc-linuxserver/1.12.2/scripts/init.sh new file mode 100755 index 000000000..616295e70 --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/scripts/init.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -euo pipefail + +paths=( + "${CONFIG_PATH:-./data/config}" + "${DB_DATA_PATH:-./data/db}" +) + +mkdir -p "${paths[@]}" +for path in "${paths[@]}"; do + case "$path" in + ./*|../*) chown -R 1000:1000 "$path" 2>/dev/null || true ;; + esac +done diff --git a/apps/hedgedoc-linuxserver/1.12.2/scripts/uninstall.sh b/apps/hedgedoc-linuxserver/1.12.2/scripts/uninstall.sh new file mode 100755 index 000000000..ab8a8d674 --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/scripts/uninstall.sh @@ -0,0 +1,2 @@ +#!/bin/bash +docker-compose down --volumes diff --git a/apps/hedgedoc-linuxserver/1.12.2/scripts/upgrade.sh b/apps/hedgedoc-linuxserver/1.12.2/scripts/upgrade.sh new file mode 100755 index 000000000..fc6adcb02 --- /dev/null +++ b/apps/hedgedoc-linuxserver/1.12.2/scripts/upgrade.sh @@ -0,0 +1,36 @@ +#!/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_HOST" "hedgedoc-db" + ensure_env_default "DB_PORT" "3306" + ensure_env_default "DB_USER" "hedgedoc" + ensure_env_default "DB_NAME" "hedgedoc" + ensure_env_default "CMD_URL_ADDPORT" "true" + ensure_env_default "CMD_PROTOCOL_USESSL" "false" + ensure_env_default "CMD_PORT" "3000" + ensure_env_default "CMD_ALLOW_ORIGIN" "['localhost']" + ensure_env_default "CMD_DB_DIALECT" "mariadb" +else + echo "$ENV_FILE not found; skipped LinuxServer environment migration" +fi