From 01069244a0a593ad01c38207f28a7725bafbfa3c Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Sat, 26 Jul 2025 06:33:04 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/beszel-agent/{0.12.0 => 0.12.1}/.env | 0 .../beszel-agent/{0.12.0 => 0.12.1}/data.yml | 0 .../{0.12.0 => 0.12.1}/docker-compose.yml | 2 +- .../{0.12.0 => 0.12.1}/envs/default.env | 0 .../{0.12.0 => 0.12.1}/envs/global.env | 0 .../{0.12.0 => 0.12.1}/scripts/init.sh | 0 .../{0.12.0 => 0.12.1}/scripts/uninstall.sh | 0 .../{0.12.0 => 0.12.1}/scripts/upgrade.sh | 0 appstore/beszel/{0.12.0 => 0.12.1}/.env | 0 appstore/beszel/{0.12.0 => 0.12.1}/data.yml | 0 .../{0.12.0 => 0.12.1}/docker-compose.yml | 2 +- .../{0.12.0 => 0.12.1}/envs/default.env | 0 .../beszel/{0.12.0 => 0.12.1}/envs/global.env | 0 .../beszel/{0.12.0 => 0.12.1}/scripts/init.sh | 0 .../{0.12.0 => 0.12.1}/scripts/uninstall.sh | 0 .../{0.12.0 => 0.12.1}/scripts/upgrade.sh | 0 appstore/casdoor/{1.986.0 => 1.988.0}/.env | 0 .../config/init_data.json | 0 .../casdoor/{1.986.0 => 1.988.0}/data.yml | 0 .../{1.986.0 => 1.988.0}/docker-compose.yml | 2 +- .../{1.986.0 => 1.988.0}/envs/casdoor.env | 0 .../{1.986.0 => 1.988.0}/envs/default.env | 0 .../{1.986.0 => 1.988.0}/envs/global.env | 0 .../{1.986.0 => 1.988.0}/scripts/init.sh | 0 .../{1.986.0 => 1.988.0}/scripts/uninstall.sh | 0 .../{1.986.0 => 1.988.0}/scripts/upgrade.sh | 0 appstore/kotatsu/README.md | 70 +++++++++ appstore/kotatsu/data.yml | 14 ++ appstore/kotatsu/logo.png | Bin 0 -> 12493 bytes appstore/kotatsu/logo.svg | 56 ++++++++ appstore/kotatsu/v20250725/.env | 27 ++++ .../kotatsu/v20250725/config/database.sql | 134 ++++++++++++++++++ appstore/kotatsu/v20250725/data.yml | 84 +++++++++++ appstore/kotatsu/v20250725/docker-compose.yml | 19 +++ .../v20250725}/envs/default.env | 0 .../v20250725}/envs/global.env | 0 .../v20250725}/scripts/init.sh | 0 .../v20250725}/scripts/uninstall.sh | 0 .../v20250725}/scripts/upgrade.sh | 0 .../rsshub/{2025-07-24 => 2025-07-25}/.env | 0 .../{2025-07-24 => 2025-07-25}/data.yml | 0 .../docker-compose.yml | 2 +- .../2025-07-25}/envs/default.env | 0 .../2025-07-25}/envs/global.env | 0 appstore/rsshub/2025-07-25/scripts/init.sh | 17 +++ .../2025-07-25}/scripts/uninstall.sh | 0 appstore/rsshub/2025-07-25/scripts/upgrade.sh | 17 +++ .../{14.1.0 => 14.2.3}/.env | 0 .../{14.1.0 => 14.2.3}/conf/webdav.yaml | 0 .../{14.1.0 => 14.2.3}/data.yml | 0 .../{14.1.0 => 14.2.3}/docker-compose.yml | 2 +- .../14.2.3/envs/default.env | 2 + .../super-productivity/14.2.3/envs/global.env | 2 + .../{14.1.0 => 14.2.3}/scripts/init.sh | 0 .../14.2.3/scripts/uninstall.sh | 10 ++ .../{14.1.0 => 14.2.3}/scripts/upgrade.sh | 0 dockge/beszel-agent/docker-compose.yml | 2 +- dockge/beszel/docker-compose.yml | 2 +- dockge/casdoor/docker-compose.yml | 2 +- dockge/kotatsu/.env | 27 ++++ dockge/kotatsu/config/database.sql | 134 ++++++++++++++++++ dockge/kotatsu/docker-compose.yml | 19 +++ dockge/kotatsu/envs/default.env | 2 + dockge/kotatsu/envs/global.env | 2 + dockge/rsshub/docker-compose.yml | 2 +- dockge/super-productivity/docker-compose.yml | 2 +- 66 files changed, 646 insertions(+), 10 deletions(-) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/.env (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/data.yml (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/docker-compose.yml (92%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/envs/default.env (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/envs/global.env (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/scripts/init.sh (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/scripts/uninstall.sh (100%) rename appstore/beszel-agent/{0.12.0 => 0.12.1}/scripts/upgrade.sh (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/.env (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/data.yml (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/docker-compose.yml (91%) rename appstore/beszel/{0.12.0 => 0.12.1}/envs/default.env (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/envs/global.env (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/scripts/init.sh (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/scripts/uninstall.sh (100%) rename appstore/beszel/{0.12.0 => 0.12.1}/scripts/upgrade.sh (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/.env (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/config/init_data.json (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/data.yml (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/docker-compose.yml (93%) rename appstore/casdoor/{1.986.0 => 1.988.0}/envs/casdoor.env (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/envs/default.env (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/envs/global.env (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/scripts/init.sh (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/scripts/uninstall.sh (100%) rename appstore/casdoor/{1.986.0 => 1.988.0}/scripts/upgrade.sh (100%) create mode 100644 appstore/kotatsu/README.md create mode 100644 appstore/kotatsu/data.yml create mode 100644 appstore/kotatsu/logo.png create mode 100644 appstore/kotatsu/logo.svg create mode 100644 appstore/kotatsu/v20250725/.env create mode 100644 appstore/kotatsu/v20250725/config/database.sql create mode 100644 appstore/kotatsu/v20250725/data.yml create mode 100644 appstore/kotatsu/v20250725/docker-compose.yml rename appstore/{rsshub/2025-07-24 => kotatsu/v20250725}/envs/default.env (100%) rename appstore/{rsshub/2025-07-24 => kotatsu/v20250725}/envs/global.env (100%) rename appstore/{rsshub/2025-07-24 => kotatsu/v20250725}/scripts/init.sh (100%) rename appstore/{rsshub/2025-07-24 => kotatsu/v20250725}/scripts/uninstall.sh (100%) rename appstore/{rsshub/2025-07-24 => kotatsu/v20250725}/scripts/upgrade.sh (100%) rename appstore/rsshub/{2025-07-24 => 2025-07-25}/.env (100%) rename appstore/rsshub/{2025-07-24 => 2025-07-25}/data.yml (100%) rename appstore/rsshub/{2025-07-24 => 2025-07-25}/docker-compose.yml (97%) rename appstore/{super-productivity/14.1.0 => rsshub/2025-07-25}/envs/default.env (100%) rename appstore/{super-productivity/14.1.0 => rsshub/2025-07-25}/envs/global.env (100%) create mode 100644 appstore/rsshub/2025-07-25/scripts/init.sh rename appstore/{super-productivity/14.1.0 => rsshub/2025-07-25}/scripts/uninstall.sh (100%) create mode 100644 appstore/rsshub/2025-07-25/scripts/upgrade.sh rename appstore/super-productivity/{14.1.0 => 14.2.3}/.env (100%) rename appstore/super-productivity/{14.1.0 => 14.2.3}/conf/webdav.yaml (100%) rename appstore/super-productivity/{14.1.0 => 14.2.3}/data.yml (100%) rename appstore/super-productivity/{14.1.0 => 14.2.3}/docker-compose.yml (93%) create mode 100644 appstore/super-productivity/14.2.3/envs/default.env create mode 100644 appstore/super-productivity/14.2.3/envs/global.env rename appstore/super-productivity/{14.1.0 => 14.2.3}/scripts/init.sh (100%) create mode 100644 appstore/super-productivity/14.2.3/scripts/uninstall.sh rename appstore/super-productivity/{14.1.0 => 14.2.3}/scripts/upgrade.sh (100%) create mode 100644 dockge/kotatsu/.env create mode 100644 dockge/kotatsu/config/database.sql create mode 100644 dockge/kotatsu/docker-compose.yml create mode 100644 dockge/kotatsu/envs/default.env create mode 100644 dockge/kotatsu/envs/global.env diff --git a/appstore/beszel-agent/0.12.0/.env b/appstore/beszel-agent/0.12.1/.env similarity index 100% rename from appstore/beszel-agent/0.12.0/.env rename to appstore/beszel-agent/0.12.1/.env diff --git a/appstore/beszel-agent/0.12.0/data.yml b/appstore/beszel-agent/0.12.1/data.yml similarity index 100% rename from appstore/beszel-agent/0.12.0/data.yml rename to appstore/beszel-agent/0.12.1/data.yml diff --git a/appstore/beszel-agent/0.12.0/docker-compose.yml b/appstore/beszel-agent/0.12.1/docker-compose.yml similarity index 92% rename from appstore/beszel-agent/0.12.0/docker-compose.yml rename to appstore/beszel-agent/0.12.1/docker-compose.yml index 662558179..53a0a3154 100644 --- a/appstore/beszel-agent/0.12.0/docker-compose.yml +++ b/appstore/beszel-agent/0.12.1/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - LOG_LEVEL=info - PORT=${PANEL_APP_PORT_HTTP:-45876} - image: henrygd/beszel-agent:0.12.0 + image: henrygd/beszel-agent:0.12.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/appstore/beszel-agent/0.12.0/envs/default.env b/appstore/beszel-agent/0.12.1/envs/default.env similarity index 100% rename from appstore/beszel-agent/0.12.0/envs/default.env rename to appstore/beszel-agent/0.12.1/envs/default.env diff --git a/appstore/beszel-agent/0.12.0/envs/global.env b/appstore/beszel-agent/0.12.1/envs/global.env similarity index 100% rename from appstore/beszel-agent/0.12.0/envs/global.env rename to appstore/beszel-agent/0.12.1/envs/global.env diff --git a/appstore/beszel-agent/0.12.0/scripts/init.sh b/appstore/beszel-agent/0.12.1/scripts/init.sh similarity index 100% rename from appstore/beszel-agent/0.12.0/scripts/init.sh rename to appstore/beszel-agent/0.12.1/scripts/init.sh diff --git a/appstore/beszel-agent/0.12.0/scripts/uninstall.sh b/appstore/beszel-agent/0.12.1/scripts/uninstall.sh similarity index 100% rename from appstore/beszel-agent/0.12.0/scripts/uninstall.sh rename to appstore/beszel-agent/0.12.1/scripts/uninstall.sh diff --git a/appstore/beszel-agent/0.12.0/scripts/upgrade.sh b/appstore/beszel-agent/0.12.1/scripts/upgrade.sh similarity index 100% rename from appstore/beszel-agent/0.12.0/scripts/upgrade.sh rename to appstore/beszel-agent/0.12.1/scripts/upgrade.sh diff --git a/appstore/beszel/0.12.0/.env b/appstore/beszel/0.12.1/.env similarity index 100% rename from appstore/beszel/0.12.0/.env rename to appstore/beszel/0.12.1/.env diff --git a/appstore/beszel/0.12.0/data.yml b/appstore/beszel/0.12.1/data.yml similarity index 100% rename from appstore/beszel/0.12.0/data.yml rename to appstore/beszel/0.12.1/data.yml diff --git a/appstore/beszel/0.12.0/docker-compose.yml b/appstore/beszel/0.12.1/docker-compose.yml similarity index 91% rename from appstore/beszel/0.12.0/docker-compose.yml rename to appstore/beszel/0.12.1/docker-compose.yml index e13455ec5..663f5776a 100644 --- a/appstore/beszel/0.12.0/docker-compose.yml +++ b/appstore/beszel/0.12.1/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: henrygd/beszel:0.12.0 + image: henrygd/beszel:0.12.1 labels: createdBy: Apps networks: diff --git a/appstore/beszel/0.12.0/envs/default.env b/appstore/beszel/0.12.1/envs/default.env similarity index 100% rename from appstore/beszel/0.12.0/envs/default.env rename to appstore/beszel/0.12.1/envs/default.env diff --git a/appstore/beszel/0.12.0/envs/global.env b/appstore/beszel/0.12.1/envs/global.env similarity index 100% rename from appstore/beszel/0.12.0/envs/global.env rename to appstore/beszel/0.12.1/envs/global.env diff --git a/appstore/beszel/0.12.0/scripts/init.sh b/appstore/beszel/0.12.1/scripts/init.sh similarity index 100% rename from appstore/beszel/0.12.0/scripts/init.sh rename to appstore/beszel/0.12.1/scripts/init.sh diff --git a/appstore/beszel/0.12.0/scripts/uninstall.sh b/appstore/beszel/0.12.1/scripts/uninstall.sh similarity index 100% rename from appstore/beszel/0.12.0/scripts/uninstall.sh rename to appstore/beszel/0.12.1/scripts/uninstall.sh diff --git a/appstore/beszel/0.12.0/scripts/upgrade.sh b/appstore/beszel/0.12.1/scripts/upgrade.sh similarity index 100% rename from appstore/beszel/0.12.0/scripts/upgrade.sh rename to appstore/beszel/0.12.1/scripts/upgrade.sh diff --git a/appstore/casdoor/1.986.0/.env b/appstore/casdoor/1.988.0/.env similarity index 100% rename from appstore/casdoor/1.986.0/.env rename to appstore/casdoor/1.988.0/.env diff --git a/appstore/casdoor/1.986.0/config/init_data.json b/appstore/casdoor/1.988.0/config/init_data.json similarity index 100% rename from appstore/casdoor/1.986.0/config/init_data.json rename to appstore/casdoor/1.988.0/config/init_data.json diff --git a/appstore/casdoor/1.986.0/data.yml b/appstore/casdoor/1.988.0/data.yml similarity index 100% rename from appstore/casdoor/1.986.0/data.yml rename to appstore/casdoor/1.988.0/data.yml diff --git a/appstore/casdoor/1.986.0/docker-compose.yml b/appstore/casdoor/1.988.0/docker-compose.yml similarity index 93% rename from appstore/casdoor/1.986.0/docker-compose.yml rename to appstore/casdoor/1.988.0/docker-compose.yml index 7d53b2e7b..5b7f0dc09 100644 --- a/appstore/casdoor/1.986.0/docker-compose.yml +++ b/appstore/casdoor/1.988.0/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.986.0 + image: casbin/casdoor:v1.988.0 labels: createdBy: Apps networks: diff --git a/appstore/casdoor/1.986.0/envs/casdoor.env b/appstore/casdoor/1.988.0/envs/casdoor.env similarity index 100% rename from appstore/casdoor/1.986.0/envs/casdoor.env rename to appstore/casdoor/1.988.0/envs/casdoor.env diff --git a/appstore/casdoor/1.986.0/envs/default.env b/appstore/casdoor/1.988.0/envs/default.env similarity index 100% rename from appstore/casdoor/1.986.0/envs/default.env rename to appstore/casdoor/1.988.0/envs/default.env diff --git a/appstore/casdoor/1.986.0/envs/global.env b/appstore/casdoor/1.988.0/envs/global.env similarity index 100% rename from appstore/casdoor/1.986.0/envs/global.env rename to appstore/casdoor/1.988.0/envs/global.env diff --git a/appstore/casdoor/1.986.0/scripts/init.sh b/appstore/casdoor/1.988.0/scripts/init.sh similarity index 100% rename from appstore/casdoor/1.986.0/scripts/init.sh rename to appstore/casdoor/1.988.0/scripts/init.sh diff --git a/appstore/casdoor/1.986.0/scripts/uninstall.sh b/appstore/casdoor/1.988.0/scripts/uninstall.sh similarity index 100% rename from appstore/casdoor/1.986.0/scripts/uninstall.sh rename to appstore/casdoor/1.988.0/scripts/uninstall.sh diff --git a/appstore/casdoor/1.986.0/scripts/upgrade.sh b/appstore/casdoor/1.988.0/scripts/upgrade.sh similarity index 100% rename from appstore/casdoor/1.986.0/scripts/upgrade.sh rename to appstore/casdoor/1.988.0/scripts/upgrade.sh diff --git a/appstore/kotatsu/README.md b/appstore/kotatsu/README.md new file mode 100644 index 000000000..13c80dc46 --- /dev/null +++ b/appstore/kotatsu/README.md @@ -0,0 +1,70 @@ +# Kotatsu + +口袋里的漫画 + +Kotatsu + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 安装说明 + +### Kotatsu 同步服务器 + +Kotatsu 是一款适用于 Android 平台的免费开源漫画阅读器。它支持多种语言的在线漫画,并具备筛选和搜索功能、本地存储离线阅读、收藏、书签、新章节通知等功能。 + +如果您不想公开自部署的同步服务器,请在注册完成自己的设备后,将`允许新用户注册`改为禁止,重启即可。 + +### 初始化数据库 + +创建数据库后,请将应用目录 `config/database.sql` 数据库文件进行初始化。 + +## 简介 + +一款简单、方便的 Android 开源漫画阅读器,由社区提供,您可以比以往更轻松地找到和阅读您喜欢的漫画。 + +## 特性 + +### 大量来源 + +支持超过 1000 个来源 + +### 可定制的阅读器 + +通过不同的阅读器设置使阅读更加方便 + +### 支持追踪 + +支持 MyAnimeList、Anilist 和 Shikimori + +### 智能搜索 + +快速轻松地搜索感兴趣的标题 + +### 强大的下载器 + +可以缓慢下载标题以避免出现源问题 + +### 同步 + +轻松在您的设备之间同步系列。 + +## 下载客户端 + +
+
+ F-Droid + F-Droid +
+
+ GitHub + GitHub Releases +
+
+ +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/kotatsu/data.yml b/appstore/kotatsu/data.yml new file mode 100644 index 000000000..a47710025 --- /dev/null +++ b/appstore/kotatsu/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: kotatsu + name: Kotatsu + tags: + - WebSite + - Local + shortDescZh: 口袋里的漫画 + shortDescEn: Manga in your pocket + type: website + crossVersionUpdate: true + limit: 0 + website: https://kotatsu.app/ + github: https://github.com/KotatsuApp/Kotatsu/ + document: https://kotatsu.app/ diff --git a/appstore/kotatsu/logo.png b/appstore/kotatsu/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0ce6745f42bec6284f870d8ff0ba4b68ab0c57 GIT binary patch literal 12493 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 literal 0 HcmV?d00001 diff --git a/appstore/kotatsu/logo.svg b/appstore/kotatsu/logo.svg new file mode 100644 index 000000000..64321067b --- /dev/null +++ b/appstore/kotatsu/logo.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + diff --git a/appstore/kotatsu/v20250725/.env b/appstore/kotatsu/v20250725/.env new file mode 100644 index 000000000..b18cfdad4 --- /dev/null +++ b/appstore/kotatsu/v20250725/.env @@ -0,0 +1,27 @@ +# MySQL 服务 (前置检查) [必填] +PANEL_DB_TYPE=mysql + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# JWT 密钥 [必填] +JWT_SECRET= + +# 数据库 主机 [必填] +DATABASE_HOST=127.0.0.1 + +# 数据库 端口 [必填] +DATABASE_PORT=3306 + +# 数据库 名称 [必填] +DATABASE_NAME=kotatsu-syncserver + +# 数据库 用户名 [必填] +DATABASE_USER=kotatsu-syncserver + +# 数据库 密码 [必填] +DATABASE_PASSWORD= + +# 允许新用户注册 [必填] +ALLOW_NEW_REGISTER=true + diff --git a/appstore/kotatsu/v20250725/config/database.sql b/appstore/kotatsu/v20250725/config/database.sql new file mode 100644 index 000000000..662429cff --- /dev/null +++ b/appstore/kotatsu/v20250725/config/database.sql @@ -0,0 +1,134 @@ +drop table if exists favourites; + +drop table if exists categories; + +drop table if exists history; + +drop table if exists manga_tags; + +drop table if exists manga; + +drop table if exists tags; + +drop table if exists users; + +create table manga +( + id bigint not null, + title varchar(84) not null, + alt_title varchar(84) null, + url varchar(255) not null, + public_url varchar(255) not null, + rating float not null, + content_rating char(12) null, + cover_url varchar(255) not null, + large_cover_url varchar(255) null, + state char(12) null, + author varchar(64) null, + source varchar(32) not null, + primary key (id) +); + +create table tags +( + id bigint not null, + title varchar(64) not null, + `key` varchar(120) not null, + source varchar(32) not null, + primary key (id) +); + +create table manga_tags +( + manga_id bigint not null, + tag_id bigint not null, + primary key (manga_id, tag_id), + constraint manga_tags_ibfk_1 + foreign key (tag_id) references tags (id), + constraint manga_tags_ibfk_2 + foreign key (manga_id) references manga (id) + on delete cascade +); + +create index tag_id + on manga_tags (tag_id); + +create table users +( + id int auto_increment + primary key, + email varchar(120) not null, + password char(32) not null, + nickname varchar(84) null, + favourites_sync_timestamp bigint null, + history_sync_timestamp bigint null +); + +create table categories +( + id bigint not null, + created_at bigint not null, + sort_key int not null, + title varchar(120) not null, + `order` char(16) not null, + user_id int not null, + track tinyint(1) not null, + show_in_lib tinyint(1) not null, + deleted_at bigint not null, + primary key (id, user_id), + constraint categories_ibfk_1 + foreign key (user_id) references users (id) + on delete cascade +); + +create index categories_id_index + on categories (id); + +create table favourites +( + manga_id bigint not null, + category_id bigint not null, + sort_key int not null, + pinned tinyint(1) not null, + created_at bigint not null, + deleted_at bigint not null, + user_id int not null, + primary key (manga_id, category_id, user_id), + constraint favourites_categories_id_pk + foreign key (category_id, user_id) references categories (id, user_id), + constraint favourites_ibfk_1 + foreign key (manga_id) references manga (id), + constraint favourites_ibfk_2 + foreign key (user_id) references users (id) +); + +create index user_id + on favourites (user_id); + +create table history +( + manga_id bigint not null, + created_at bigint not null, + updated_at bigint not null, + chapter_id bigint not null, + page smallint not null, + scroll double not null, + percent double not null, + chapters int not null, + deleted_at bigint not null, + user_id int not null, + primary key (user_id, manga_id), + constraint history_ibfk_1 + foreign key (manga_id) references manga (id), + constraint history_ibfk_2 + foreign key (user_id) references users (id) + on delete cascade +); + +create index manga_id + on history (manga_id); + +create unique index users_email_uindex + on users (email); + + diff --git a/appstore/kotatsu/v20250725/data.yml b/appstore/kotatsu/v20250725/data.yml new file mode 100644 index 000000000..996f2a90d --- /dev/null +++ b/appstore/kotatsu/v20250725/data.yml @@ -0,0 +1,84 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mysql + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MySQL + value: mysql + - label: MariaDB + value: mariadb + - label: Percona + value: percona + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: JWT_SECRET + labelZh: JWT 密钥 + labelEn: JWT secret + required: true + type: password + - default: "127.0.0.1" + edit: true + envKey: DATABASE_HOST + labelZh: 数据库 主机 + labelEn: Database Host + required: true + type: text + - default: 3306 + edit: true + envKey: DATABASE_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "kotatsu-syncserver" + edit: true + envKey: DATABASE_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + type: text + - default: "kotatsu-syncserver" + edit: true + envKey: DATABASE_USER + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: DATABASE_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + required: true + type: password + - default: "true" + edit: true + envKey: ALLOW_NEW_REGISTER + labelZh: 允许新用户注册 + labelEn: Allow new users to register + required: true + type: select + values: + - label: 开放注册 + value: "true" + - label: 禁止注册 + value: "false" diff --git a/appstore/kotatsu/v20250725/docker-compose.yml b/appstore/kotatsu/v20250725/docker-compose.yml new file mode 100644 index 000000000..39631d586 --- /dev/null +++ b/appstore/kotatsu/v20250725/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + kotatsu-syncserver: + container_name: kotatsu + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: qyg2297248353/kotatsu-syncserver:v20250725 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/appstore/rsshub/2025-07-24/envs/default.env b/appstore/kotatsu/v20250725/envs/default.env similarity index 100% rename from appstore/rsshub/2025-07-24/envs/default.env rename to appstore/kotatsu/v20250725/envs/default.env diff --git a/appstore/rsshub/2025-07-24/envs/global.env b/appstore/kotatsu/v20250725/envs/global.env similarity index 100% rename from appstore/rsshub/2025-07-24/envs/global.env rename to appstore/kotatsu/v20250725/envs/global.env diff --git a/appstore/rsshub/2025-07-24/scripts/init.sh b/appstore/kotatsu/v20250725/scripts/init.sh similarity index 100% rename from appstore/rsshub/2025-07-24/scripts/init.sh rename to appstore/kotatsu/v20250725/scripts/init.sh diff --git a/appstore/rsshub/2025-07-24/scripts/uninstall.sh b/appstore/kotatsu/v20250725/scripts/uninstall.sh similarity index 100% rename from appstore/rsshub/2025-07-24/scripts/uninstall.sh rename to appstore/kotatsu/v20250725/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-07-24/scripts/upgrade.sh b/appstore/kotatsu/v20250725/scripts/upgrade.sh similarity index 100% rename from appstore/rsshub/2025-07-24/scripts/upgrade.sh rename to appstore/kotatsu/v20250725/scripts/upgrade.sh diff --git a/appstore/rsshub/2025-07-24/.env b/appstore/rsshub/2025-07-25/.env similarity index 100% rename from appstore/rsshub/2025-07-24/.env rename to appstore/rsshub/2025-07-25/.env diff --git a/appstore/rsshub/2025-07-24/data.yml b/appstore/rsshub/2025-07-25/data.yml similarity index 100% rename from appstore/rsshub/2025-07-24/data.yml rename to appstore/rsshub/2025-07-25/data.yml diff --git a/appstore/rsshub/2025-07-24/docker-compose.yml b/appstore/rsshub/2025-07-25/docker-compose.yml similarity index 97% rename from appstore/rsshub/2025-07-24/docker-compose.yml rename to appstore/rsshub/2025-07-25/docker-compose.yml index 97e248d66..18df47a5d 100644 --- a/appstore/rsshub/2025-07-24/docker-compose.yml +++ b/appstore/rsshub/2025-07-25/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-07-24 + image: diygod/rsshub:2025-07-25 labels: createdBy: Apps networks: diff --git a/appstore/super-productivity/14.1.0/envs/default.env b/appstore/rsshub/2025-07-25/envs/default.env similarity index 100% rename from appstore/super-productivity/14.1.0/envs/default.env rename to appstore/rsshub/2025-07-25/envs/default.env diff --git a/appstore/super-productivity/14.1.0/envs/global.env b/appstore/rsshub/2025-07-25/envs/global.env similarity index 100% rename from appstore/super-productivity/14.1.0/envs/global.env rename to appstore/rsshub/2025-07-25/envs/global.env diff --git a/appstore/rsshub/2025-07-25/scripts/init.sh b/appstore/rsshub/2025-07-25/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-07-25/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/14.1.0/scripts/uninstall.sh b/appstore/rsshub/2025-07-25/scripts/uninstall.sh similarity index 100% rename from appstore/super-productivity/14.1.0/scripts/uninstall.sh rename to appstore/rsshub/2025-07-25/scripts/uninstall.sh diff --git a/appstore/rsshub/2025-07-25/scripts/upgrade.sh b/appstore/rsshub/2025-07-25/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/rsshub/2025-07-25/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/14.1.0/.env b/appstore/super-productivity/14.2.3/.env similarity index 100% rename from appstore/super-productivity/14.1.0/.env rename to appstore/super-productivity/14.2.3/.env diff --git a/appstore/super-productivity/14.1.0/conf/webdav.yaml b/appstore/super-productivity/14.2.3/conf/webdav.yaml similarity index 100% rename from appstore/super-productivity/14.1.0/conf/webdav.yaml rename to appstore/super-productivity/14.2.3/conf/webdav.yaml diff --git a/appstore/super-productivity/14.1.0/data.yml b/appstore/super-productivity/14.2.3/data.yml similarity index 100% rename from appstore/super-productivity/14.1.0/data.yml rename to appstore/super-productivity/14.2.3/data.yml diff --git a/appstore/super-productivity/14.1.0/docker-compose.yml b/appstore/super-productivity/14.2.3/docker-compose.yml similarity index 93% rename from appstore/super-productivity/14.1.0/docker-compose.yml rename to appstore/super-productivity/14.2.3/docker-compose.yml index 23f723093..13eb74815 100644 --- a/appstore/super-productivity/14.1.0/docker-compose.yml +++ b/appstore/super-productivity/14.2.3/docker-compose.yml @@ -21,7 +21,7 @@ services: environment: - TZ=Asia/Shanghai - WEBDAV_BACKEND=http://sp-webdav - image: johannesjo/super-productivity:v14.1.0 + image: johannesjo/super-productivity:v14.2.3 labels: createdBy: Apps networks: diff --git a/appstore/super-productivity/14.2.3/envs/default.env b/appstore/super-productivity/14.2.3/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/super-productivity/14.2.3/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/super-productivity/14.2.3/envs/global.env b/appstore/super-productivity/14.2.3/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/super-productivity/14.2.3/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/super-productivity/14.1.0/scripts/init.sh b/appstore/super-productivity/14.2.3/scripts/init.sh similarity index 100% rename from appstore/super-productivity/14.1.0/scripts/init.sh rename to appstore/super-productivity/14.2.3/scripts/init.sh diff --git a/appstore/super-productivity/14.2.3/scripts/uninstall.sh b/appstore/super-productivity/14.2.3/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/super-productivity/14.2.3/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/super-productivity/14.1.0/scripts/upgrade.sh b/appstore/super-productivity/14.2.3/scripts/upgrade.sh similarity index 100% rename from appstore/super-productivity/14.1.0/scripts/upgrade.sh rename to appstore/super-productivity/14.2.3/scripts/upgrade.sh diff --git a/dockge/beszel-agent/docker-compose.yml b/dockge/beszel-agent/docker-compose.yml index 662558179..53a0a3154 100644 --- a/dockge/beszel-agent/docker-compose.yml +++ b/dockge/beszel-agent/docker-compose.yml @@ -11,7 +11,7 @@ services: - TZ=Asia/Shanghai - LOG_LEVEL=info - PORT=${PANEL_APP_PORT_HTTP:-45876} - image: henrygd/beszel-agent:0.12.0 + image: henrygd/beszel-agent:0.12.1 labels: createdBy: Apps network_mode: ${NETWORK_MODE:-host} diff --git a/dockge/beszel/docker-compose.yml b/dockge/beszel/docker-compose.yml index e13455ec5..663f5776a 100644 --- a/dockge/beszel/docker-compose.yml +++ b/dockge/beszel/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: henrygd/beszel:0.12.0 + image: henrygd/beszel:0.12.1 labels: createdBy: Apps networks: diff --git a/dockge/casdoor/docker-compose.yml b/dockge/casdoor/docker-compose.yml index 7d53b2e7b..5b7f0dc09 100644 --- a/dockge/casdoor/docker-compose.yml +++ b/dockge/casdoor/docker-compose.yml @@ -14,7 +14,7 @@ services: - verificationCodeTimeout=10 - appname=casdoor - authState=casdoor - image: casbin/casdoor:v1.986.0 + image: casbin/casdoor:v1.988.0 labels: createdBy: Apps networks: diff --git a/dockge/kotatsu/.env b/dockge/kotatsu/.env new file mode 100644 index 000000000..b18cfdad4 --- /dev/null +++ b/dockge/kotatsu/.env @@ -0,0 +1,27 @@ +# MySQL 服务 (前置检查) [必填] +PANEL_DB_TYPE=mysql + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# JWT 密钥 [必填] +JWT_SECRET= + +# 数据库 主机 [必填] +DATABASE_HOST=127.0.0.1 + +# 数据库 端口 [必填] +DATABASE_PORT=3306 + +# 数据库 名称 [必填] +DATABASE_NAME=kotatsu-syncserver + +# 数据库 用户名 [必填] +DATABASE_USER=kotatsu-syncserver + +# 数据库 密码 [必填] +DATABASE_PASSWORD= + +# 允许新用户注册 [必填] +ALLOW_NEW_REGISTER=true + diff --git a/dockge/kotatsu/config/database.sql b/dockge/kotatsu/config/database.sql new file mode 100644 index 000000000..662429cff --- /dev/null +++ b/dockge/kotatsu/config/database.sql @@ -0,0 +1,134 @@ +drop table if exists favourites; + +drop table if exists categories; + +drop table if exists history; + +drop table if exists manga_tags; + +drop table if exists manga; + +drop table if exists tags; + +drop table if exists users; + +create table manga +( + id bigint not null, + title varchar(84) not null, + alt_title varchar(84) null, + url varchar(255) not null, + public_url varchar(255) not null, + rating float not null, + content_rating char(12) null, + cover_url varchar(255) not null, + large_cover_url varchar(255) null, + state char(12) null, + author varchar(64) null, + source varchar(32) not null, + primary key (id) +); + +create table tags +( + id bigint not null, + title varchar(64) not null, + `key` varchar(120) not null, + source varchar(32) not null, + primary key (id) +); + +create table manga_tags +( + manga_id bigint not null, + tag_id bigint not null, + primary key (manga_id, tag_id), + constraint manga_tags_ibfk_1 + foreign key (tag_id) references tags (id), + constraint manga_tags_ibfk_2 + foreign key (manga_id) references manga (id) + on delete cascade +); + +create index tag_id + on manga_tags (tag_id); + +create table users +( + id int auto_increment + primary key, + email varchar(120) not null, + password char(32) not null, + nickname varchar(84) null, + favourites_sync_timestamp bigint null, + history_sync_timestamp bigint null +); + +create table categories +( + id bigint not null, + created_at bigint not null, + sort_key int not null, + title varchar(120) not null, + `order` char(16) not null, + user_id int not null, + track tinyint(1) not null, + show_in_lib tinyint(1) not null, + deleted_at bigint not null, + primary key (id, user_id), + constraint categories_ibfk_1 + foreign key (user_id) references users (id) + on delete cascade +); + +create index categories_id_index + on categories (id); + +create table favourites +( + manga_id bigint not null, + category_id bigint not null, + sort_key int not null, + pinned tinyint(1) not null, + created_at bigint not null, + deleted_at bigint not null, + user_id int not null, + primary key (manga_id, category_id, user_id), + constraint favourites_categories_id_pk + foreign key (category_id, user_id) references categories (id, user_id), + constraint favourites_ibfk_1 + foreign key (manga_id) references manga (id), + constraint favourites_ibfk_2 + foreign key (user_id) references users (id) +); + +create index user_id + on favourites (user_id); + +create table history +( + manga_id bigint not null, + created_at bigint not null, + updated_at bigint not null, + chapter_id bigint not null, + page smallint not null, + scroll double not null, + percent double not null, + chapters int not null, + deleted_at bigint not null, + user_id int not null, + primary key (user_id, manga_id), + constraint history_ibfk_1 + foreign key (manga_id) references manga (id), + constraint history_ibfk_2 + foreign key (user_id) references users (id) + on delete cascade +); + +create index manga_id + on history (manga_id); + +create unique index users_email_uindex + on users (email); + + diff --git a/dockge/kotatsu/docker-compose.yml b/dockge/kotatsu/docker-compose.yml new file mode 100644 index 000000000..39631d586 --- /dev/null +++ b/dockge/kotatsu/docker-compose.yml @@ -0,0 +1,19 @@ +networks: + 1panel-network: + external: true +services: + kotatsu-syncserver: + container_name: kotatsu + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + image: qyg2297248353/kotatsu-syncserver:v20250725 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always diff --git a/dockge/kotatsu/envs/default.env b/dockge/kotatsu/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/kotatsu/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/kotatsu/envs/global.env b/dockge/kotatsu/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/kotatsu/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/rsshub/docker-compose.yml b/dockge/rsshub/docker-compose.yml index 97e248d66..18df47a5d 100644 --- a/dockge/rsshub/docker-compose.yml +++ b/dockge/rsshub/docker-compose.yml @@ -57,7 +57,7 @@ services: - -f - http://localhost:1200/healthz?key=${ACCESS_KEY} timeout: 10s - image: diygod/rsshub:2025-07-24 + image: diygod/rsshub:2025-07-25 labels: createdBy: Apps networks: diff --git a/dockge/super-productivity/docker-compose.yml b/dockge/super-productivity/docker-compose.yml index 23f723093..13eb74815 100644 --- a/dockge/super-productivity/docker-compose.yml +++ b/dockge/super-productivity/docker-compose.yml @@ -21,7 +21,7 @@ services: environment: - TZ=Asia/Shanghai - WEBDAV_BACKEND=http://sp-webdav - image: johannesjo/super-productivity:v14.1.0 + image: johannesjo/super-productivity:v14.2.3 labels: createdBy: Apps networks: