在數字時代,消費與支付因網購而變得無比便捷,金錢也隨之漸漸抽象為屏幕上冰冷的數字,失去了曾經真實可握的温度。過去用現金交易時,每一張紙幣的遞出都伴隨着複雜的心緒——或許是計劃,是猶豫,抑或是不捨。那種實實在在的“付出感”,無形中讓人更懂衡量、更知節制。
如今,手機一掃、一鍵即付,消費變得輕而易舉,人與金錢之間的情感聯結卻日益稀薄。支付動作的簡化,也在不知不覺間削弱了我們對支出的敏感。就像從前用現金吃飯,人們會下意識地根據錢包裏的餘額約束開銷;而數字支付讓人難以感知“失去”,更容易在無聲無息中越過原本的界限。
於是我不禁思考:既然我們享受着快捷支付的便利,是否也能找到一種方式,讓消費重新變得可感知?我曾嘗試手動記賬,但不僅難以統計,賬本也容易丟失;又試過一些記賬軟件,可它們往往太過“便捷”,依然無法幫我找回那份對消費的真實感知。直到最近在 GitHub 上發現了一個開源項目——它恰好滿足了我所有這些期待。今天,就想把它介紹給大家。
什麼是ezBookkeeping?
ezBookkeeping 是一款輕量、自託管 (self-hosted) 的個人記賬應用,擁有用户友好的界面和強大的記賬功能。它部署簡單,藉助 Docker 只需一行命令即可啓動。同時對系統資源佔用低、可擴展性高,既可運行在樹莓派等輕量設備上,也能擴展到 NAS、MicroServer 甚至集羣環境。
ezBookkeeping 為移動端和桌面端提供了各自原生的界面設計。藉助 PWA (漸進式網頁應用) 技術,您還可以將它 添加到手機主屏幕,像原生 App 一樣使用。
github 地址: https://github.com/mayswind/ezbookkeeping
文檔地址: https://ezbookkeeping.mayswind.net/zh_Hans
在線演示:https://ezbookkeeping-demo.mayswind.net
該項目在github已有3.2k star
Docker私有化部署
我使用的是docker-compose 進行私有化部署的,步驟如下:
- 創建docker-compose.yml 文件
在我們的服務器上創建部署目錄ezbookkeeping,在此目錄下創建 docker-compose.yml 文件,內容如下:
services:
ezbookkeeping:
image: mayswind/ezbookkeeping:latest
container_name: ezbookkeeping
hostname: "ezbookkeeping"
ports:
- "7080:8080"
# 默認數據庫類型是 sqlite3,若使用默認數據庫,註釋掉以下環境變量
environment:
- "EBK_SERVER_ENABLE_GZIP=true"
- "EBK_DATABASE_TYPE=mysql"
- "EBK_DATABASE_HOST=192.168.31.195:3306"
- "EBK_DATABASE_NAME=ezbookkeeping"
- "EBK_DATABASE_USER=root"
- "EBK_DATABASE_PASSWD=xj123456"
- "EBK_LOG_MODE=file"
- "EBK_SECURITY_SECRET_KEY=its_should_be_a_random_string"
volumes:
- /etc/localtime:/etc/localtime:ro
- ./storage:/ezbookkeeping/storage # 請確保 UID:GID 是 1000:1000
- ./log:/ezbookkeeping/log # 請確保 UID:GID 是 1000:1000
# - ./ezbookkeeping.ini:/ezbookkeeping/conf/ezbookkeeping.ini
# - ./data:/ezbookkeeping/data # 默認使用sqlite3數據庫掛載目錄
ezbookkeeping 默認數據庫類型是 sqlite3,數據庫文件存儲在容器中的 /ezbookkeeping/data/ezbookkeeping.db,若使用默認數據庫,並持久化保存這些數據,你需要使用 Docker 持久化數據卷或掛載宿主機的路徑到容器內。
若想使用mysql或PostgreSQL,則需現在對應的數據庫中創建好數據庫,在環境變量中配置好相應的環境變量即可,我此處使用的是mysql數據庫。
- 啓動服務
在docker-compose.yml的同級目錄下使用以下命令啓動服務
docker-compose up -d
啓動之後彙報權限錯誤的日誌,需要給掛載目錄修改權限
給掛載目錄授權
sudo chmod -R 777 storage log
重啓服務
docker-compose restart
到此,我們服務就部署好了
使用
- 註冊
在瀏覽器中打開服務地址,首次的話我們先需要註冊用户
註冊的時候我們可以預設分類
- 創建賬户、分類
我們需要先創建好賬户,根據自己記錄的維度創建好消費及收入分類
- 添加交易、常看統計
然後我們可以記錄我們的每一筆消費、收入了
- 移動端使用
在手機瀏覽器中打開網址http://ip:port/ 或者掃碼,使用用户名登錄之後就可以在手機端使用了,如果不想每次進瀏覽器,可以在瀏覽器中將頁面發送到手機桌面。
結語
在眾多個人財務應用中,ezBookkeeping以其開源特性、隱私保護、輕量高效和易部署的優勢脱穎而出。無論你是技術愛好者想在樹莓派上搭建服務,還是普通用户想在NAS上自建財務系統,ezBookkeeping都是一個值得嘗試的優秀選擇。
它的設計哲學很明確:給用户完全的控制權,同時提供專業級的記賬體驗。在這個數據隱私日益重要的時代,這樣的應用顯得尤為珍貴。
如果你正在尋找一個可靠、私密、功能全面的記賬解決方案,不妨試試ezBookkeeping。只需幾分鐘的部署時間,你就能擁有一個完全屬於自己的專業財務管理系統。