From a9764521b21caf913a777f1114cf1dc7211c8cee Mon Sep 17 00:00:00 2001 From: pooneyy <85266337+pooneyy@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:26:17 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(wavelog):=20add=20wavelog=202.?= =?UTF-8?q?2.1=20application?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - add version-specific configuration files for wavelog 2.2.1 - define application metadata, form fields, and docker-compose structure - include initialization script for directory creation - provide multilingual readme documentation (zh/en) - add application logo image --- apps/wavelog/2.2.1/data.yml | 119 ++++++++++++++++++++++++++ apps/wavelog/2.2.1/docker-compose.yml | 22 +++++ apps/wavelog/2.2.1/scripts/init.sh | 3 + apps/wavelog/README.md | 9 ++ apps/wavelog/README_en.md | 9 ++ apps/wavelog/data.yml | 31 +++++++ apps/wavelog/logo.png | Bin 0 -> 5949 bytes 7 files changed, 193 insertions(+) create mode 100644 apps/wavelog/2.2.1/data.yml create mode 100644 apps/wavelog/2.2.1/docker-compose.yml create mode 100644 apps/wavelog/2.2.1/scripts/init.sh create mode 100644 apps/wavelog/README.md create mode 100644 apps/wavelog/README_en.md create mode 100644 apps/wavelog/data.yml create mode 100644 apps/wavelog/logo.png diff --git a/apps/wavelog/2.2.1/data.yml b/apps/wavelog/2.2.1/data.yml new file mode 100644 index 000000000..ca61614a4 --- /dev/null +++ b/apps/wavelog/2.2.1/data.yml @@ -0,0 +1,119 @@ +additionalProperties: + formFields: + - default: 8080 + envKey: PANEL_APP_PORT_HTTP + labelZh: HTTP 端口 + labelEn: HTTP Port + label: + en: HTTP Port + ja: HTTP ポート + ko: HTTP 포트 + ms: Port HTTP + pt-br: Porta HTTP + ru: HTTP Порт + tr: HTTP Portu + zh: HTTP 端口 + zh-Hant: HTTP 連接埠 + description: + en: "Set the HTTP access port for the application, valid range: 1-65535" + ja: "アプリケーションのHTTPアクセスポートを設定します。有効範囲: 1-65535" + ko: "애플리케이션의 HTTP 접근 포트를 설정합니다. 유효 범위: 1-65535" + ms: "Tetapkan port akses HTTP untuk aplikasi, julat sah: 1-65535" + pt-br: "Defina a porta de acesso HTTP para o aplicativo, intervalo válido: 1-65535" + ru: "Установите порт доступа HTTP для приложения, допустимый диапазон: 1-65535" + tr: "Uygulama için HTTP erişim portunu ayarlayın, geçerli aralık: 1-65535" + zh: "设置应用的 HTTP 访问端口,有效范围: 1-65535" + zh-Hant: "設定應用程式的 HTTP 存取連接埠,有效範圍: 1-65535" + required: true + type: number + edit: true + rule: paramPort + - default: mysql + envKey: PANEL_DB_TYPE + labelZh: 数据库服务 + labelEn: Database Service + label: + zh: 数据库服务 + zh-Hant: 數據庫 服務 + en: Database Service + ja: データベースサービス + ko: 데이터베이스 서비스 + ms: Perkhidmatan Pangkalan Data + pt-br: Serviço de Banco de Dados + ru: Сервис базы данных + tr: Veritabanı + description: + zh: MySQL 8 或更高版本,MariaDB 10.2 或更高版本 + zh-Hant: MySQL 8 或更高版本,MariaDB 10.2 或更高版本 + en: MySQL 8 or higher, MariaDB 10.2 or higher + ja: MySQL 8 以上、MariaDB 10.2 以上 + ko: MySQL 8 이상, MariaDB 10.2 이상 + ms: MySQL 8 atau lebih tinggi, MariaDB 10.2 atau lebih tinggi + pt-br: MySQL 8 ou superior, MariaDB 10.2 ou superior + ru: MySQL 8 или выше, MariaDB 10.2 или выше + tr: MySQL 8 veya üzeri, MariaDB 10.2 veya üzeri + required: true + type: apps + values: + - label: MariaDB + value: mariadb + - label: MySQL + value: mysql + child: + default: "" + envKey: PANEL_DB_HOST + required: false + type: service + - default: wavelog + envKey: PANEL_DB_NAME + labelZh: 数据库名 + labelEn: Database + label: + zh: 数据库名 + zh-Hant: 數據庫名 + en: Database + ja: データベース + ko: 데이터베이스 + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + tr: Veritabanı Adı + required: true + type: text + rule: paramCommon + random: true + - default: wavelog_user + envKey: PANEL_DB_USER + labelZh: 数据库用户 + labelEn: Database Username + label: + zh: 数据库用户 + zh-Hant: 數據庫用戶 + en: Database Username + ja: データベースユーザー名 + ko: 데이터베이스 사용자 이름 + ms: Nama Pengguna Pangkalan Data + pt-br: Nome de Usuário do Banco de Dados + ru: Имя пользователя базы данных + tr: Veritabanı Kullanıcı Adı + required: true + type: text + rule: paramCommon + random: true + - default: wavelog_pwd + envKey: PANEL_DB_USER_PASSWORD + labelZh: 数据库用户密码 + labelEn: Database Password + label: + zh: 数据库用户密码 + zh-Hant: 數據庫用戶密碼 + en: Database Password + ja: データベースパスワード + ko: 데이터베이스 비밀번호 + ms: Kata Laluan Pangkalan Data + pt-br: Senha do Banco de Dados + ru: Пароль базы данных + tr: Veritabanı Parolası + required: true + type: password + random: true diff --git a/apps/wavelog/2.2.1/docker-compose.yml b/apps/wavelog/2.2.1/docker-compose.yml new file mode 100644 index 000000000..e00e7d49c --- /dev/null +++ b/apps/wavelog/2.2.1/docker-compose.yml @@ -0,0 +1,22 @@ +services: + wavelog: + container_name: ${CONTAINER_NAME} + image: ghcr.io/pooneyy/wavelog:2.2.2 + environment: + DB_HOST: ${PANEL_DB_HOST}:${PANEL_DB_PORT} + DATABASE: ${PANEL_DB_NAME} + DATABASE_USERNAME: ${PANEL_DB_USER} + DATABASE_PASSWORD: ${PANEL_DB_USER_PASSWORD} + networks: + - 1panel-network + volumes: + - ./data/config:/var/www/html/application/config/docker + - ./data/uploads:/var/www/html/uploads + - ./data/userdata:/var/www/html/userdata + ports: + - ${PANEL_APP_PORT_HTTP}:80 + labels: + createdBy: Apps +networks: + 1panel-network: + external: true diff --git a/apps/wavelog/2.2.1/scripts/init.sh b/apps/wavelog/2.2.1/scripts/init.sh new file mode 100644 index 000000000..7ddc384af --- /dev/null +++ b/apps/wavelog/2.2.1/scripts/init.sh @@ -0,0 +1,3 @@ +sudo install -d -m 777 ./data/config +sudo install -d -m 777 ./data/uploads +sudo install -d -m 777 ./data/userdata \ No newline at end of file diff --git a/apps/wavelog/README.md b/apps/wavelog/README.md new file mode 100644 index 000000000..3380e6872 --- /dev/null +++ b/apps/wavelog/README.md @@ -0,0 +1,9 @@ +## 产品介绍 + +Wavelog 是一个开源的业余无线电通联日志管理系统,业余无线电爱好者们(HAM)可以借助Wavelog轻松管理通联记录,并与QRZ.com、LoTW等平台一键同步。 + +## 主要功能 + +- 自定义电台呼号、站点和位置,在云端轻松记录日常通联 +- 上传/下载LoTW、qrz.com等平台的通联记录。 +- 支持通过API或网关与其他业余无线电软件或硬件联动,如GridTracker2等。 \ No newline at end of file diff --git a/apps/wavelog/README_en.md b/apps/wavelog/README_en.md new file mode 100644 index 000000000..8eb2c2cc5 --- /dev/null +++ b/apps/wavelog/README_en.md @@ -0,0 +1,9 @@ +## Introduction + +Wavelog is an open-source amateur radio logging system that helps amateur radio operators (HAMs) easily manage their communication records and sync with platforms like QRZ.com and LoTW with ease. + +## Features + +- Customize radio call signs, stations, and locations, and easily log daily contacts in the cloud. +- Upload/download contact records from platforms such as LoTW and qrz.com. +- Support integration with other amateur radio software or hardware through APIs or gateways, such as GridTracker2. \ No newline at end of file diff --git a/apps/wavelog/data.yml b/apps/wavelog/data.yml new file mode 100644 index 000000000..88a660252 --- /dev/null +++ b/apps/wavelog/data.yml @@ -0,0 +1,31 @@ +name: Wavelog +tags: + - 实用工具 +title: 开源业余无线电通联日志 +description: 开源业余无线电通联日志 +additionalProperties: + key: wavelog + name: Wavelog + tags: + - Tool + shortDescZh: 开源业余无线电通联日志 + shortDescEn: Open-source amateur radio contact log + description: + en: Open-source amateur radio contact log + zh: 开源业余无线电通联日志 + zh-Hant: 開源業餘無線電通聯日誌 + ja: オープンソースアマチュア無線コンタクトログ + ms: Log hubungan radio amatur sumber terbuka + pt-br: Registro de contatos de rádio amador de código aberto + ru: Журнал радиосвязи любительского радио с открытым исходным кодом + ko: 오픈소스 아마추어 무선 통신 로그 + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.wavelog.org/ + github: https://github.com/wavelog/wavelog + document: github.com/wavelog/wavelog/wiki + architectures: + - amd64 + - arm64 + - arm/v7 diff --git a/apps/wavelog/logo.png b/apps/wavelog/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f960137f71c4dc2b91ded35c563604bd56dd54 GIT binary patch literal 5949 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 literal 0 HcmV?d00001