Git Product home page Git Product logo

beancount-gs's Introduction

beancount-gs

license docker image size

演示地址 使用文档

介绍

beancount 是一个优秀的开源复式记账工具,因为其基于文本记录的特性,难以拓展到移动端;本项目旨在将常见的记账行为封装为 RESTful API。

本仓库使用 Golang 进行文本的读写和接口服务支持,利用 bean-query 获取内容并解析,以 Json 格式返回。并基于已实现的接口内置实现了前端页面(适配移动端)。

snapshot

特性

  • 私有部署
  • 多账本
  • 账户,资产管理
  • 统计图表
  • 多币种
  • 标签
  • 投资管理(FIFO)
  • 第三方账单导入(支付宝,微信,工商银行,农业银行)
  • 分期记账
  • 事件

如何使用

本地打包

  1. 克隆本项目到本地
  2. 根目录执行 go build
  3. 执行 ./beancount-gs (-p 指定端口号,-secret 指定配置密钥)

release

  1. 下载并解压项目的 release
  2. 执行根目录下的 ./beancount-gs.exe

docker

docker run --name beancount-gs -dp 10000:80 \
-w /app \
-v "/data/beancount:/data/beancount" \
-v "/data/beancount/icons:/app/public/icons" \
-v "/data/beancount/config:/app/config" \
-v "/data/beancount/bak:/app/bak" \
xdbin/beancount-gs:latest

docker-compose

在指定目录创建文件 docker-compose.yml,然后复制下面内容到这个文件,执行 docker-compose up -d

version: "3.9"
services:
  app:
    container_name: beancount-gs
    image: xdbin/beancount-gs:${tag:-latest}
    ports:
      - "10000:80"
    # volumes 挂载目录会导 /app/public/icons 中的图标被覆盖,这里将默认图标在挂载后重新拷贝图标
    command: >
      sh -c "cp -rn /app/public/default_icons/* /app/public/icons && ./beancount-gs -p 80"
    volumes:
      - "${dataPath:-/data/beancount}:/data/beancount"
      - "${dataPath:-/data/beancount}/icons:/app/public/icons"
      - "${dataPath:-/data/beancount}/config:/app/config"
      - "${dataPath:-/data/beancount}/bak:/app/bak"
      - "${dataPath:-/data/beancount}/logs:/app/logs"

默认的文件存储路径为 /data/beancount,如果你想更换其他路径,可以在当前目录下新建 var.env,然后将下面内容复制到这个文件

tag=latest
dataPath=自定义的目录

执行 docker-compose --env-file ./var.env up -d 即可

项目负责人

@BaoXuebin

开源协议

MIT @BaoXuebin

赞助

赞助地址

感谢

JetBrains

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.