个人财务预算系统BudgetBee

在这里插入图片描述

什么是 BudgetBee ?

BudgetBee 是一个个人财务预算系统。通过 BudgetBee,您可以轻松管理您的个人财务。它可以帮助您跟踪您的支出和收入,以便您可以减少支出并增加储蓄。

在这里插入图片描述

镜像下载

官方没有在 docker hub 上发布镜像,而是采用了自动构建 docker 镜像的方式,发布到了 ghcr.io

SSH 客户端登录到群晖后,依次执行下面的命令

# 新建文件夹 budgetbee 及子文件夹 
mkdir -p /volume1/docker/budgetbee/data# 进入 budgetbee 目录
cd /volume1/docker/budgetbee# 拉取 nginx 镜像
docker pull ghcr.io/budgetbee/budgetbee/proxy:latest# 拉取 api 镜像
docker pull ghcr.io/budgetbee/budgetbee/api:latest# 拉取 web 镜像
docker pull ghcr.io/budgetbee/budgetbee/web:latest

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

下载完成后,可以在 映像 中找到

在这里插入图片描述

安装

在群晖上以 Docker 方式安装。

老苏折腾时,latest 对应的版本为 v0.2.2

涉及到 4 个容器,所以我们采用 docker-compose 安装。将下面的内容保存为 docker-compose.yml 文件

version: '3'services:nginx:image: ghcr.io/budgetbee/budgetbee/proxy:latestcontainer_name: budgetbee_nginxcommand: nginx -g "daemon off;"ports:- "8201:80"restart: unless-stoppedwebserver:image: ghcr.io/budgetbee/budgetbee/api:latestcontainer_name: budgetbee_serverworking_dir: /var/www/htmlcommand: sh entrypoint.shenvironment:DB_HOST: dbDB_DATABASE: "budgetbee"DB_USERNAME: "budgetbee_user"DB_PASSWORD: "budgetbee_password"restart: unless-stoppedweb:image: ghcr.io/budgetbee/budgetbee/web:latestcontainer_name: budgetbee_webrestart: unless-stoppeddb:image: mysql:8.0container_name: budgetbee_dbcommand: --default-authentication-plugin=mysql_native_passwordenvironment:MYSQL_ROOT_PASSWORD: "budgetbee_password_root"MYSQL_DATABASE: "budgetbee"MYSQL_USER: "budgetbee_user"MYSQL_PASSWORD: "budgetbee_password"restart: unless-stoppedvolumes:- ./data:/var/lib/mysql

然后执行下面的命令

# 新建文件夹 budgetbee 和 子目录
mkdir -p /volume1/docker/budgetbee/data# 进入 budgetbee 目录
cd /volume1/docker/budgetbee# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

不出意外的话,你会看到 4 个容器成功的启动了

在这里插入图片描述

运行

创建用户

**【重要】: ** 所有容器启动后等待大约 30 秒才能执行创建用户命令

# 创建用户
docker exec budgetbee_server php scripts/create_user.php <your_name> <your_email> <your_password># 示例
docker exec budgetbee_server php scripts/create_user.php laosu wbsu2003@gmail.com 123456

在这里插入图片描述

运行软件

在浏览器中输入 http://群晖IP:8201 就能看到登录界面

使用我们上一步创建的用户登录;

在这里插入图片描述

当然也有可能在系统准备好之前,会显示下面错误页面,多等一等再刷新,也许就好了

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

使用也很简单,只是和 Actual 一样,也还不支持中文

参考文档

budgetbee/budgetbee: BudgetBee is a finance self hosted app
地址:https://github.com/budgetbee/budgetbee

budgetbee | BudgetBee is a finance self hosted app
地址:https://budgetbee.github.io/budgetbee/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133123.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5.(vue3.x+vite)v-if与v-show区别

前端技术社区总目录(订阅之前请先查看该博客) 1:效果预览 2:v-if与v-show区别 1、v-if会增删DOM元素。 2、v-show比v-if性能更高,因为v-show只能动态的改变样式(display),不需要增删DOM元素。 3、v-if切换时候回实时的销毁和重建内部的事件、钩子函数等,v-show只会…

基于 ceph-deploy 部署 Ceph 集群 超详细

Ceph part1 一、存储基础1.1 单机存储设备1.2 单机存储的问题1.3 单机存储问题的解决方案1.3.1 商业存储解决方案1.3.2 分布式存储&#xff08;软件定义的存储 SDS&#xff09; 二、分布式存储2.1 常见的分布式存储2.2 分布式存储的类型 三、Ceph概述3.1 Ceph简介3.2 Ceph 优势…

【深度学习实验】卷积神经网络(八):使用深度残差神经网络ResNet完成图片多分类任务

目录 一、实验介绍 二、实验环境 1. 配置虚拟环境 2. 库版本介绍 三、实验内容 0. 导入必要的工具包 1. 构建数据集&#xff08;CIFAR10Dataset&#xff09; a. read_csv_labels&#xff08;&#xff09; b. CIFAR10Dataset 2. 构建模型&#xff08;FeedForward&#x…

tez作业运行慢

文章目录 问题现象&#xff1a;排查思路查看task运行概况查看map和reduce container的日志初步结论 继续排查container数量差异大分片计算异常 结论 问题现象&#xff1a; 每天调度的一个任务在某天突然运行时长多了好几倍&#xff0c;平时30m左右&#xff0c;那天运行了4个小…

【面试高频题】难度 1/5,经典树的搜索(多语言)

题目描述 这是 LeetCode 上的 「109. 有序链表转换二叉搜索树」 &#xff0c;难度为 「中等」 Tag : 「二叉树」、「树的搜索」、「分治」、「中序遍历」 给定一个单链表的头节点 head&#xff0c;其中的元素 按升序排序 &#xff0c;将其转换为高度平衡的二叉搜索树。 本题中&…

uni-app开发微信小程序的报错[渲染层错误]排查及解决

一、报错信息 [渲染层错误] Framework nner error (expect FLOW INITIALCREATION end but get FLOW CREATE-NODE) 二、原因分析及解决方案 第一种 原因&#xff1a;基础库版本的原因导致的。 解决&#xff1a; 1.修改调试基础库版本 2.详情—>本地设置—>调试基础库…

ChatGPT或将引发现代知识体系转变

作为当下大语言模型的典型代表&#xff0c;ChatGPT对人类学习方式和教育发展所产生的变革效应已然引起了广泛关注。技术的快速发展在某种程度上正在“倒逼”教育领域开启更深层次的变革。在此背景下&#xff0c;教育从业者势必要学会准确识变、科学应变、主动求变、以变应变&am…

jetty嵌入式开发及spring整合quartz(内存模式)

1 依赖jar包 2 jetty嵌入式开发 2.1 jetty服务启动类 package com.primal.server;import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.handler.AbstractHandler;…

将人工智能应用于 API 安全

如今&#xff0c;在安全行业中&#xff0c;几乎每个地方都会提到人工智能 (AI) 的话题。确实&#xff0c;人工智能是一个热门话题。像许多热门话题一样&#xff0c;围绕它有相当多的嗡嗡声和炒作。突然间&#xff0c;你遇到的每个人似乎都在大力利用人工智能。 正如你可以想象…

使用【Blob、Base64】两种方式显示【文本、图片、视频】 使用 video 组件播放视频

Blob 显示 Blob 对象的类型是由 MIME 类型&#xff08;Multipurpose Internet Mail Extensions&#xff09;来确定的。MIME 类型是一种标准&#xff0c;用于表示文档、图像、音频、视频等多媒体文件的类型。以下是一些常见的 Blob 对象类型&#xff1a; text/plain&#xff1…

LLM应用架构 LLM application architectures

在本课程的最后一部分&#xff0c;您将探讨构建基于LLM的应用程序的一些额外考虑因素。首先&#xff0c;让我们把迄今为止在本课程中所见的一切汇总起来&#xff0c;看看创建LLM驱动应用程序的基本组成部分。您需要几个关键组件来创建端到端的应用程序解决方案&#xff0c;从基…

时代风口中的Web3.0基建平台,重新定义Web3.0!

近年来&#xff0c;Web3.0概念的广泛兴起&#xff0c;给加密行业带来了崭新的叙事方式&#xff0c;同时也为加密行业提供了更加具有想象力的应用场景与商业空间&#xff0c;并让越来越多的行业从业者们意识到只有更大众化的市场共性需求才能推动加密市场的持续繁荣。当前围绕这…