目录

Docker宝库:ezBookkeeping记账

目录

ezBookkeeping 是一个自托管 (self-hosted) 的轻量个人账本应用。它可以部署在几乎所有平台上,包括 x86、x64 以及 ARM 架构的 Windows、macOS 和 Linux。您甚至可以将它部署在树莓派 (Raspberry) 设备中。此外,它支持多种不同数据库,包括 SQLite、MySQL 和 PostgreSQL 等。借助 Docker,您甚至只需要一条命令即可将其部署,而无需复杂的配置。

项目地址:https://github.com/mayswind/ezbookkeeping

容器中的默认路径:

  • 配置文件/ezbookkeeping/conf/ezbookkeeping.ini
  • 数据库文件(使用 sqlite3 数据库)/ezbookkeeping/data/ezbookkeeping.db
  • 日志文件/ezbookkeeping/log/ezbookkeeping.log
  • 对象存储根路径(使用 local_filesystem 对象存储)/ezbookkeeping/storage/

使用持久化数据卷运行容器:

# 在宿主机创建数据路径并修改 UID/GID
$ mkdir -p /opt/ezbookkeeping/data
$ mkdir -p /opt/ezbookkeeping/storage
$ chown 1000:1000 /opt/ezbookkeeping/data
$ chown 1000:1000 /opt/ezbookkeeping/storage
docker run -d \
-p 9080:8080 \
--name ezbookkeeping \
-v /opt/ezbookkeeping/data:/ezbookkeeping/data \
-v /opt/ezbookkeeping/storage:/ezbookkeeping/storage \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Asia/Shanghai \ 
-e EZBOOKKEEPING_ENABLE_REGISTRATION=true \ --允许用户注册,首次使用选true,注册成功后,可改成false重新创建容器,以关闭注册功能。
mayswind/ezbookkeeping:latest

注意:

  • -e EZBOOKKEEPING_ENABLE_REGISTRATION=true : 允许用户注册,首次使用选true,注册成功后,可改成false重新创建容器,以关闭注册功能。

或者使用Docker-compose文件:

# 首次安装时,设置 - EZBOOKKEEPING_ENABLE_REGISTRATION=true ,这样访问http://主机IP:8880 后,可进行账户注册
# 之后,建议关闭账户注册。把下边配置文件改成  - EZBOOKKEEPING_ENABLE_REGISTRATION=false ,重新部署一遍即可。
# 首次导入已有账单前,建议先从交易分类中创建好分类(因为直接导入的话所有的分类都会直接塞到“默认分类”中)
version: "3"

services:
  ezbookkeeping:
    image: mayswind/ezbookkeeping:latest
    container_name: ezbookkeeping
    restart: unless-stopped
    ports:
      - "8880:8080"  # 可修改为其他端口,如 "5680:8080"
    volumes:
      - /etc/localtime:/etc/localtime:ro
      # 以下4个目录须确保UID:GID 是 1000:1000,
      # 可以先手动创建4个目录,例如:mkdir -p /opt/ezbookkeeping/data
      # 然后设置权限:chown 1000:1000 /opt/ezbookkeeping/data
      - /opt/ezbookkeeping/data:/ezbookkeeping/data/  # 数据库文件夹。
      - /opt/ezbookkeeping/storage:/ezbookkeeping/storage # 对象存储根路径(使用 local_filesystem 对象存储)。
      #- /opt/ezbookkeeping/log:/ezbookkeeping/log # 日志文件夹。
      #- /opt/ezbookkeeping/conf:/ezbookkeeping/conf/  # 配置文件(不需要挂载,通过环境变量进行设置即可)。
    environment:
      - TZ=Asia/Shanghai
      # 可选:启用用户注册(true=允许用户注册,首次使用选true,注册成功后,可改成false重新创建容器,以关闭注册功能。)
      - EZBOOKKEEPING_ENABLE_REGISTRATION=true

第一次使用需要注册账号,如需导入数据。可以先随意添加两条记账记录,然后导出。根据导出的格式填写导入模板即可。

记账类别、标签等信息需要提前在平台中设置好,否则导入时会要求强制修改成已有的分类或标签。