From c000adb58c0e01b29ba7abb14bb909a6023d2b0a Mon Sep 17 00:00:00 2001 From: NearlyHeadlessJack Date: Wed, 31 Dec 2025 16:10:30 +0800 Subject: [PATCH] Add Wavelog --- apps/wavelog/2.2.1/data.yml | 85 ++++++++++++++++++++++++++ apps/wavelog/2.2.1/docker-compose.yml | 27 ++++++++ apps/wavelog/2.2.1/scripts/init.sh | 8 +++ apps/wavelog/README.md | 20 ++++++ apps/wavelog/data.yml | 24 ++++++++ apps/wavelog/logo.png | Bin 0 -> 5949 bytes 6 files changed, 164 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/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 00000000..afc19134 --- /dev/null +++ b/apps/wavelog/2.2.1/data.yml @@ -0,0 +1,85 @@ +additionalProperties: + formFields: + - default: 3792 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + - default: mysql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + label: + en: Database Service + ja: データベースサービス + ms: Perkhidmatan Pangkalan Data + pt-br: Serviço de Banco de Dados + ru: Сервис базы данных + ko: 데이터베이스 서비스 + zh: 数据库服务 + zh-Hant: 數據庫 服務 + required: true + type: apps + child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + values: + - label: MariaDB + value: mariadb + - label: MySQL + value: mysql + - default: wavelog-test + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名 + label: + en: Database + ja: データベース + ms: Pangkalan Data + pt-br: Banco de Dados + ru: База данных + ko: 데이터베이스 + zh: 数据库名 + zh-Hant: 數據庫名 + random: true + required: true + rule: paramCommon + type: text + - default: wavelog-test + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + label: + en: User + ja: ユーザー + ms: Pengguna + pt-br: Usuário + ru: Пользователь + ko: 사용자 + zh: 数据库用户 + zh-Hant: 數據庫用戶 + random: true + required: true + rule: paramCommon + type: text + - default: wavelog-test + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + label: + en: Password + ja: パスワード + ms: Kata Laluan + pt-br: Senha + ru: Пароль + ko: 비밀번호 + zh: 数据库用户密码 + zh-Hant: 數據庫用戶密碼 + random: true + required: true + type: password 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 00000000..c9485a9b --- /dev/null +++ b/apps/wavelog/2.2.1/docker-compose.yml @@ -0,0 +1,27 @@ +services: + wavelog-main: + container_name: ${CONTAINER_NAME} + image: nearlyheadlessjack/wavelog-1panel:2.2.1 + environment: + CI_ENV: docker + DB_HOST: ${PANEL_DB_HOST}:${PANEL_DB_PORT} + DB_HOST_PORT: ${PANEL_DB_PORT} + DATABASE: ${PANEL_DB_NAME} + DATABASE_USERNAME: ${PANEL_DB_USER} + DATABASE_PASSWORD: ${PANEL_DB_USER_PASSWORD} + networks: + - 1panel-network + volumes: + - ./data/wavelog-config:/var/www/html/application/config/docker + - ./data/wavelog-uploads:/var/www/html/uploads + - ./data/wavelog-userdata:/var/www/html/userdata + ports: + - ${PANEL_APP_PORT_HTTP}:80 + restart: always + 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 00000000..93a5ff08 --- /dev/null +++ b/apps/wavelog/2.2.1/scripts/init.sh @@ -0,0 +1,8 @@ +mkdir -p ./data/wavelog-config +mkdir -p ./data/wavelog-uploads +mkdir -p ./data/wavelog-userdata + + +sudo chmod -R 777 ./data/wavelog-config +sudo chmod -R 777 ./data/wavelog-uploads +sudo chmod -R 777 ./data/wavelog-userdata \ No newline at end of file diff --git a/apps/wavelog/README.md b/apps/wavelog/README.md new file mode 100644 index 00000000..f176ec30 --- /dev/null +++ b/apps/wavelog/README.md @@ -0,0 +1,20 @@ +## 产品介绍 + +**Wavelog** 是一个开源的业余无线电通联日志管理系统,业余无线电爱好者们(HAM)可以借助Wavelog轻松管理通联记录,并与QRZ.com、LoTW等平台一键同步。 + +## 主要功能 + +* 自定义电台呼号、站点和位置,在云端轻松记录日常通联 +* 上传/下载LoTW、qrz.com等平台的通联记录。 +* 支持通过API或网关与其他业余无线电软件或硬件联动,如GridTracker2等。 + +## 安装说明 + +* Wavelog官方推荐使用MariaDB数据库,MariaDB >= 10.2,MySQL >= 8 +* 安装完成后,网站Base URL在`./data/wavelog-config/config.php`中持久储存。 +* +```php +$config['base_url'] = 'http://localhost:3792/'; // Line 123 +``` + +*请务必手动修改`base_url`为外网访问时的真实URL,否则在浏览时会发生错误。* \ No newline at end of file diff --git a/apps/wavelog/data.yml b/apps/wavelog/data.yml new file mode 100644 index 00000000..7626dbb5 --- /dev/null +++ b/apps/wavelog/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + key: wavelog #应用的 key ,仅限英文,用于在 Linux 创建文件夹 + name: Wavelog #应用名称 + tags: + - Tool #应用标签,可以有多个,请参照下方的标签列表 + shortDescZh: 最受欢迎的开源业余无线电通联记录系统 #应用中文描述,不要超过30个字 + shortDescEn: Open-source amateur radio QSOs logging system #应用英文描述 + type: website #应用类型,区别于应用分类,只能有一个,请参照下方的类型列表 + crossVersionUpdate: true #是否可以跨大版本升级 + limit: 0 #应用安装数量限制,0 代表无限制 + website: https://www.wavelog.org/ #官网地址 + github: https://github.com/wavelog/wavelog #github 地址 + document: github.com/wavelog/wavelog/wiki + description: + en: The most popular open-source amateur radio online contact logging system + zh: 最受欢迎的开源业余无线电通联记录系统 #应用中文描述,不要超过30个字 + zh-Hant: + ja: 最も人気のあるオープンソースのアマチュア無線オンライン通信ログシステム + ms: + pt-br: + ru: Самая популярная система онлайн-логирования связей для любительской радиосвязи с открытым исходным кодом + ko: + architectures: + - amd64 \ No newline at end of file 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