From d0716bec4435683990a6f5bcfa6fa8e48622634f Mon Sep 17 00:00:00 2001 From: QYG2297248353 Date: Mon, 2 Dec 2024 11:03:51 +0000 Subject: [PATCH] Processed apps directory via GitHub Actions --- appstore/feedback/1.0.2/.env | 30 +++++++ appstore/feedback/1.0.2/data.yml | 89 +++++++++++++++++++ appstore/feedback/1.0.2/docker-compose.yml | 21 +++++ appstore/feedback/1.0.2/envs/default.env | 2 + appstore/feedback/1.0.2/envs/global.env | 2 + appstore/feedback/1.0.2/scripts/init.sh | 17 ++++ appstore/feedback/1.0.2/scripts/uninstall.sh | 10 +++ appstore/feedback/1.0.2/scripts/upgrade.sh | 17 ++++ appstore/feedback/README.md | 17 ++++ appstore/feedback/data.yml | 15 ++++ appstore/feedback/logo.png | Bin 0 -> 11652 bytes dockge/feedback/.env | 30 +++++++ dockge/feedback/docker-compose.yml | 21 +++++ dockge/feedback/envs/default.env | 2 + dockge/feedback/envs/global.env | 2 + 15 files changed, 275 insertions(+) create mode 100644 appstore/feedback/1.0.2/.env create mode 100644 appstore/feedback/1.0.2/data.yml create mode 100644 appstore/feedback/1.0.2/docker-compose.yml create mode 100644 appstore/feedback/1.0.2/envs/default.env create mode 100644 appstore/feedback/1.0.2/envs/global.env create mode 100644 appstore/feedback/1.0.2/scripts/init.sh create mode 100644 appstore/feedback/1.0.2/scripts/uninstall.sh create mode 100644 appstore/feedback/1.0.2/scripts/upgrade.sh create mode 100644 appstore/feedback/README.md create mode 100644 appstore/feedback/data.yml create mode 100644 appstore/feedback/logo.png create mode 100644 dockge/feedback/.env create mode 100644 dockge/feedback/docker-compose.yml create mode 100644 dockge/feedback/envs/default.env create mode 100644 dockge/feedback/envs/global.env diff --git a/appstore/feedback/1.0.2/.env b/appstore/feedback/1.0.2/.env new file mode 100644 index 00000000..6707e2b0 --- /dev/null +++ b/appstore/feedback/1.0.2/.env @@ -0,0 +1,30 @@ +# MySQL 服务 (前置检查) [必填] +PANEL_DB_TYPE=mariadb + +# 数据持久化路径 [必填] +BAOTA_ROOT_PATH=/home/feedback + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=8080 + +# 访问地址 [必填] +FEEDBACK_WEBSITE=http://127.0.0.18080 + +# 备案号 [必填] +FEEDBACK_BEI_AN=备案号 + +# 数据库 主机地址 [必填] +DB_HOSTNAME=127.0.0.1 + +# 数据库 端口 [必填] +DB_PORT=5432 + +# 数据库 名称 [必填] +DB_NAME=feedback + +# 数据库 用户名 [必填] +MYSQL_USERNAME=feedback + +# 数据库 密码 [必填] +MYSQL_PASSWORD= + diff --git a/appstore/feedback/1.0.2/data.yml b/appstore/feedback/1.0.2/data.yml new file mode 100644 index 00000000..d52dd792 --- /dev/null +++ b/appstore/feedback/1.0.2/data.yml @@ -0,0 +1,89 @@ +additionalProperties: + formFields: + - child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + default: mariadb + edit: true + envKey: PANEL_DB_TYPE + labelZh: MySQL 服务 (前置检查) + labelEn: Database Service (Pre-check) + required: true + type: apps + values: + - label: MariaDB + value: mariadb + - label: MySQL + value: mysql + - label: Percona + value: percona + - default: "/home/feedback" + edit: true + envKey: BAOTA_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "http://127.0.0.18080" + edit: true + envKey: FEEDBACK_WEBSITE + labelZh: 访问地址 + labelEn: Access Address + required: true + type: text + - default: "备案号" + edit: true + envKey: FEEDBACK_BEI_AN + labelZh: 备案号 + labelEn: Record Number + required: true + type: text + - default: "127.0.0.1" + edit: true + envKey: DB_HOSTNAME + labelZh: 数据库 主机地址 + labelEn: Database Host + required: true + type: text + - default: 5432 + edit: true + envKey: DB_PORT + labelZh: 数据库 端口 + labelEn: Database Port + required: true + rule: paramPort + type: number + - default: "feedback" + edit: true + envKey: DB_NAME + labelZh: 数据库 名称 + labelEn: Database Name + required: true + rule: paramCommon + type: text + - default: "feedback" + edit: true + envKey: MYSQL_USERNAME + labelZh: 数据库 用户名 + labelEn: Database Username + required: true + type: text + - default: "" + edit: true + envKey: MYSQL_PASSWORD + labelZh: 数据库 密码 + labelEn: Database Password + random: true + required: true + rule: paramComplexity + type: password diff --git a/appstore/feedback/1.0.2/docker-compose.yml b/appstore/feedback/1.0.2/docker-compose.yml new file mode 100644 index 00000000..b02b6755 --- /dev/null +++ b/appstore/feedback/1.0.2/docker-compose.yml @@ -0,0 +1,21 @@ +networks: + 1panel-network: + external: true +services: + feedback: + container_name: feedback + env_file: + - ./envs/global.env + - .env + environment: + - MYSQL_URL=jdbc:mariadb://${DB_HOSTNAME}:${DB_PORT}/${DB_NAME}?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai + image: q2316367743/feedback:1.0.2 + labels: + createdBy: Apps + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + restart: always + volumes: + - ${FEEDBACK_ROOT_PATH}/data:/app/public/data diff --git a/appstore/feedback/1.0.2/envs/default.env b/appstore/feedback/1.0.2/envs/default.env new file mode 100644 index 00000000..cd05f46e --- /dev/null +++ b/appstore/feedback/1.0.2/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/feedback/1.0.2/envs/global.env b/appstore/feedback/1.0.2/envs/global.env new file mode 100644 index 00000000..e10989fe --- /dev/null +++ b/appstore/feedback/1.0.2/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/feedback/1.0.2/scripts/init.sh b/appstore/feedback/1.0.2/scripts/init.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/feedback/1.0.2/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/feedback/1.0.2/scripts/uninstall.sh b/appstore/feedback/1.0.2/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/appstore/feedback/1.0.2/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/feedback/1.0.2/scripts/upgrade.sh b/appstore/feedback/1.0.2/scripts/upgrade.sh new file mode 100644 index 00000000..07fb8c3f --- /dev/null +++ b/appstore/feedback/1.0.2/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/feedback/README.md b/appstore/feedback/README.md new file mode 100644 index 00000000..43d45132 --- /dev/null +++ b/appstore/feedback/README.md @@ -0,0 +1,17 @@ +# 问题反馈平台 (替兔小巢) + +由于兔小巢将于2024-11-30日之后,限制免费版的使用,所以开发了这个问题反馈平台。 + +![问题反馈平台](https://file.lifebus.top/imgs/feedback_q23163677431_cover.png) + +![](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) + +## 安装说明 + +> 默认用户名:`admin` +> +> 默认密码:`123456` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/appstore/feedback/data.yml b/appstore/feedback/data.yml new file mode 100644 index 00000000..58503e99 --- /dev/null +++ b/appstore/feedback/data.yml @@ -0,0 +1,15 @@ +additionalProperties: + key: feedback + name: 问题反馈平台 + tags: + - WebSite + - Middleware + - Local + shortDescZh: 问题反馈平台 (替兔小巢) + shortDescEn: Feedback platform (replace Tu Xiaochao) + type: website + crossVersionUpdate: true + limit: 0 + website: https://gitcode.com/q23163677431/feedback-docker/ + github: https://gitcode.com/q23163677431/feedback-docker/ + document: https://gitcode.com/q23163677431/feedback-docker/ diff --git a/appstore/feedback/logo.png b/appstore/feedback/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2512e2b9c51ec76297a259267e8856d202b6695e GIT binary patch literal 11652 zcmV-~Eql_5P)~w6QAOdQmD=~>3AwrzHoj^^3Xheu3F(N}W zinPms8lxtfIFhKXiKJU5WiZ;2MxY85gPKSK4N5@9xBocj;-#$NoO}0ozWwd}{MM?K zsjU01%B{2CyU%mJ9hr$FNg9{C)E+>RBrTo`fFwyH@fFwyHw&9*OMtbR`R|LLR??zGX4alTQimeq@xU{H z{ej(p9ai{9T>)GK{3Gz?%=~sY6H4j>7XYbo5pj3m*QURo0X(eGm-->_CE&}zmooE) zLSIMH0=NK3jf#jz0*3-G1GZoAm%k492=JcF{N94UwxkZY07#9Ah^GRt2A)a%koPv= z^T3Ij`PIs^NScESfYgYH*aJA0$$R^KbT)8QW}a1h5J{Wo0wDEVMC=OuG4O04DvvXZ z(}34z<^{C}k+g9x08&py#6y9%0574vkL=zKdt^6DfH!C6m6d0aw2TXY)Dsc04e3HVt0;v-e%0w7fs5o>^V0{hgSWx>t|UYD6?)E-0{tJ}(-*e@AI4BnS|}F) zX#pZ)E8xXULb&@?9;dIa1&(8Ks^HIR4BV<;#UjhdmLM$ZL6qh#QxDMLYxmJ5JJ#lTM+VJN84F#^;m_=sL@hL0ZB=y(S}gJ$5T z6)+UkD7XMp`ZrE2vE&4@Y8}A3TjZi z1E6LZ_^Bd8K{d|>K+Q4mQ;!%5s#z`oYKnoMddg5x&2a%x6Ab*+2tz?N!w68l<|BI5 z7#}^XX1D;Tmm*^Oh=wy!;mv?0C)pk6WX zEA9s1B;dHrycQrLwgr9{cq4Gnin9%sp`d!n1wg%F;8)b`z+VAJW#*4I^cy1L{!Bu) zR{>itaJI296jZOc0I0f%*oR5rx2E~RQ1GnU zgJ|4b08~vxJOcP*-~~Wb9%qQY!Q?`7`bz%85wRDO#q3F)PNgMZ0A8D!>uL|8adH9B z!g+#UaX(fRGgupI^hDK6*KTFu1et7 z6+^+|3iNYC|I1KpjN~MKr{2!ZgIT}{JLT&Se&7t=H>#R%`)&S zuJ?goR}2MyGg|v3Tm@l0JK2{e#JE%_;tllusB0OZIlau z?!>^axIqPeT`?3a&QMUlzy&~nw`3P!uz_D!3^Fw1Hn¥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ʗZKGcRmSpDVfyV+z;RA)b=A(zDP4E%D#oY)T z5A2qiA06t!KJ)U0c$v(+Av2F>^5n3O;VFV$GZd88W8hcZ7l6lQ=24mX)7r!Ii3`96 zWabYt^F>U~4mhv&JOgAXsL?ak>*b6uq_-^HKhR9G* zqhsJ#+!er~z~0l>aBYMOz-CMzEc7WRZwnmGw!N49-Wz|WTqeS z-V7Ij8D-|pnRz0x6O)+arphA?jiI0h$-u9;TYyu5oig+2%=Ec0Gx9}tPMLX4W*!AR z9{3c7f?YEd)LhJwWz3aS$Z ze#II1RpyIhC5D2<847B}4E%~S@aq8=fXWO7i!&6|%nbaBGw|yX7l58H6fDkAP#b07 zSDb-g54iyJh@oI{hJv~i1Ha-7{CdmM-8)Yb1+~`6<1Ha-7{4_Hc z0Bx3`U~z*F1r7X)Gw{>g2KPdvatsBF8)PVG;8&c1pH{>LKyxz`EN&2?pn+d;27X!< z7XYo8pJYz@2;I2uDiX}Rl}+$lTG zz)y?f0-%L66qN2@;HPR_091{kphnKXPgS`9sJe*Q7kDSIXYE;}1vrmM;CE*2K{Reg zfU0i#Lbw-(f*Q7^z;ACa{^|qo0H{|C1vNkhe(EI`0QFKtY!AGJ$uh82<#D8yxCMAW z@V3mny7n;A`dk3iYtvBhc;JBAvq*FJ9B^c2uB$zWv@tFKYJw*Usu7;xr)C%dstKMb zsGjo#KQ+fY0BVk*pnAl>Pt9@xP_sNyP!)NCpPJ_apyqj^pcc#%{4@wI02&NKK^11; zr$I3S)LVSct2F(RPgJvkG6)^DAD7XM<6buD5BLhE;h6{j3 z#ZXWiVc@6HF#^=67z%1V27VeX?*M4DB4QihFyIXs3XaXSz&n8VX68+`hmmS<0nq3f z3XY0_pETtHAWiw`;lc9}z0xu+0MdFQVqf5$z@D{dQ76u068N22dl0Eli~yzeOfM9B z0nY<2uRD!a;c_PbKitcUzx0c|10ZdJCki&n6a1tZxBy5qh=}chw=h`-wyHdiHtZJQ z{lMEY^Xl5eNPXu5AkD#0u(u5Sq&c|&NGo6{*c%3Z(h3;?N-MA|6!b*FI+jlG+uMu3 zv@+fSkXFeP1sBQ_{G^V!07xD2M8Tpw!B6U#3xL!yL&44&_(=u007!)x3a*-gpHz?$ zpj3#V;EEaeNekc|0BHdX1!rR5CoPZ*fV4oKD7ZnM;3rk!0w7f|4F!(@o()9hacVjZ zI6N~itUZV{HZA~CMI#Oc4g93ai~yyIM)>IA%kdGtQZIN1K zQSd0>_kg=q9%r>~1pYg4TxMQVdl*SS=K>)0R75XQb<1wb0Oh`0yv=;^QRroZk5Y&-oe*8@M9{<<1i3#`q| z8x}vUq(yN7kR)k@d=`KtNh9O}AW6~)xd2F#G(s)_k|d3g3xFg^Bjf@gNzw?p07#NF zLM{N3B#n>@fFwyH