From 7ab442a43a443184e9c82396a6069c0248153ad1 Mon Sep 17 00:00:00 2001 From: Henry Wu <99880210+HenryWu01@users.noreply.github.com> Date: Thu, 9 May 2024 13:13:43 +0800 Subject: [PATCH] :sparkles: Add Firefly III support (#1328) --- apps/firefly-iii/6.1.15/data.yml | 55 +++++++++++++++++++++ apps/firefly-iii/6.1.15/docker-compose.yml | 24 +++++++++ apps/firefly-iii/README.md | 21 ++++++++ apps/firefly-iii/data.yml | 19 +++++++ apps/firefly-iii/logo.png | Bin 0 -> 27841 bytes 5 files changed, 119 insertions(+) create mode 100644 apps/firefly-iii/6.1.15/data.yml create mode 100644 apps/firefly-iii/6.1.15/docker-compose.yml create mode 100644 apps/firefly-iii/README.md create mode 100644 apps/firefly-iii/data.yml create mode 100644 apps/firefly-iii/logo.png diff --git a/apps/firefly-iii/6.1.15/data.yml b/apps/firefly-iii/6.1.15/data.yml new file mode 100644 index 00000000..88c5fb46 --- /dev/null +++ b/apps/firefly-iii/6.1.15/data.yml @@ -0,0 +1,55 @@ +additionalProperties: + formFields: + - default: "" + envKey: APP_KEY + labelEn: Application Key (Must be exactly 32 characters) + labelZh: 应用密钥 (必须为 32 位字符) + required: true + type: text + - default: mysql + envKey: PANEL_DB_TYPE + labelEn: Database Service + labelZh: 数据库服务 + required: true + type: apps + child: + default: "" + envKey: PANEL_DB_HOST + required: true + type: service + values: + - label: MySQL + value: mysql + - label: PostgreSQL + value: pgsql + - default: firefly + envKey: PANEL_DB_NAME + labelEn: Database + labelZh: 数据库名称 + random: true + required: true + rule: paramCommon + type: text + - default: firefly + envKey: PANEL_DB_USER + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + - default: firefly + envKey: PANEL_DB_USER_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + rule: paramComplexity + type: password + - default: 8080 + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: HTTP 端口 + required: true + rule: paramPort + type: number diff --git a/apps/firefly-iii/6.1.15/docker-compose.yml b/apps/firefly-iii/6.1.15/docker-compose.yml new file mode 100644 index 00000000..2cc91410 --- /dev/null +++ b/apps/firefly-iii/6.1.15/docker-compose.yml @@ -0,0 +1,24 @@ +services: + firefly-iii: + image: fireflyiii/core:version-6.1.15 + container_name: ${CONTAINER_NAME} + environment: + - APP_KEY=${APP_KEY} + - DB_CONNECTION=${PANEL_DB_TYPE} + - DB_HOST=${PANEL_DB_HOST} + - DB_PORT=${PANEL_DB_PORT} + - DB_DATABASE=${PANEL_DB_NAME} + - DB_USERNAME=${PANEL_DB_USER} + - DB_PASSWORD=${PANEL_DB_USER_PASSWORD} + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8080 + volumes: + - ./firefly-iii/upload:/var/www/html/storage/upload + labels: + createdBy: "Apps" +networks: + 1panel-network: + external: true diff --git a/apps/firefly-iii/README.md b/apps/firefly-iii/README.md new file mode 100644 index 00000000..335a5044 --- /dev/null +++ b/apps/firefly-iii/README.md @@ -0,0 +1,21 @@ +# Firefly III + +**Firefly III** 是一款开源的个人财务管理工具。它可以帮助您跟踪支出和收入,从而减少开支并增加储蓄。 + +## 主要功能: + +- **创建周期性交易**:管理财务时可以设定重复发生的交易,以便更好地控制预算和流动性。 +- **基于规则的交易处理**:用户可以根据自定义的规则来自动处理交易,提高财务管理的效率。 +- **双重记账系统**:采用标准的双重记账法,确保财务记录的准确性。 +- **全面的账户管理功能**: + - 资产账户 + - 共享资产账户(家庭账户) + - 储蓄账户 + - 信用卡账户 + - 负债账户(贷款、抵押贷款) +- **预算管理**:可以创建、修改并管理预算,以更好地控制财务状况。 +- **使用分类组织交易**:通过分类来组织交易,使收支更加清晰。 +- **使用存钱罐朝目标储蓄**:设定具体的财务目标,并通过存钱罐系统积极储蓄。 +- **预测和预期账单**:通过系统预测即将到来的账单,提前做好财务规划。 +- **收入和支出报告查看**:提供详细的收入和支出报告,帮助用户了解财务状况。 +- **使用标签组织支出**:通过标签来进一步细化支出类别,便于跟踪和管理。 diff --git a/apps/firefly-iii/data.yml b/apps/firefly-iii/data.yml new file mode 100644 index 00000000..54233cb6 --- /dev/null +++ b/apps/firefly-iii/data.yml @@ -0,0 +1,19 @@ +name: Firefly III +tags: + - 实用工具 +title: 开源的个人财务管理工具 +description: 开源的个人财务管理工具 +additionalProperties: + key: firefly-iii + name: Firefly III + tags: + - Tool + shortDescZh: 开源的个人财务管理工具 + shortDescEn: A free and open source personal finance manager + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://www.firefly-iii.org/ + github: https://github.com/firefly-iii/firefly-iii + document: https://docs.firefly-iii.org/ diff --git a/apps/firefly-iii/logo.png b/apps/firefly-iii/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..04426fbf085d8262834b8628a1ff3a6d7f010977 GIT binary patch literal 27841 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 literal 0 KcmV+b0RR6000031