ezBookkeeping

ezBookkeeping

Docker app from Yusseiin's Repository

Overview

ezBookkeeping is a lightweight, self-hosted personal finance / bookkeeping app with a modern responsive web UI and PWA support. Supports multi-currency, transaction categories, accounts, statistics and charts, import/export, and 2FA. Defaults to SQLite stored under /ezbookkeeping/data. For MySQL/PostgreSQL set the EBK_DATABASE_* variables (any ezbookkeeping.ini option can be overridden via an EBK_SECTION_OPTION environment variable). The container runs as UID/GID 1000:1000, so the host appdata folder must be owned by 1000:1000. Before first start, open the Unraid terminal and run: mkdir -p /mnt/user/appdata/ezbookkeeping/{data,storage,log,conf} chown -R 1000:1000 /mnt/user/appdata/ezbookkeeping If you change the host paths in this template, run chown -R 1000:1000 against those paths instead.

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

HTTP port for the ezBookkeeping web interface.

Target
8080
Default
8080
Value
8080
DataPathrw

Persistent data directory. Holds the SQLite database when using the default database backend.

Target
/ezbookkeeping/data
Default
/mnt/user/appdata/ezbookkeeping/data
Value
/mnt/user/appdata/ezbookkeeping/data
StoragePathrw

Object storage for user uploads (avatars, transaction pictures, etc.).

Target
/ezbookkeeping/storage
Default
/mnt/user/appdata/ezbookkeeping/storage
Value
/mnt/user/appdata/ezbookkeeping/storage
LogsPathrw

Application log directory.

Target
/ezbookkeeping/log
Default
/mnt/user/appdata/ezbookkeeping/log
Value
/mnt/user/appdata/ezbookkeeping/log
ConfigPathrw

Optional. Mount a folder containing a custom ezbookkeeping.ini to override the built-in config. Leave blank to use defaults plus EBK_* environment variables.

Target
/ezbookkeeping/conf
Security Secret KeyVariable

Random string used to encrypt sensitive user data. CHANGE this to a long random string before first start (e.g. openssl rand -hex 32). Changing it later will invalidate existing tokens/2FA secrets.

Target
EBK_SECURITY_SECRET_KEY
Value
change-me-to-a-long-random-string
Server DomainVariable

The domain or IP used to reach the WebUI (e.g. ezbookkeeping.example.com or 192.168.1.50). Used to build correct URLs in emails and the PWA.

Target
EBK_SERVER_DOMAIN
Enable RegistrationVariable

Allow new users to register accounts from the login page. Set to false after creating your own account to prevent strangers from signing up.

Target
EBK_USER_ENABLE_REGISTER
Default
true
Value
true
Database TypeVariable

Database backend: sqlite3 (default, no extra setup), mysql, or postgres. When set to mysql/postgres, also fill in the Database Host/Name/User/Password fields below.

Target
EBK_DATABASE_TYPE
Default
sqlite3
Value
sqlite3
Database HostVariable

Only used when Database Type is mysql or postgres. host:port of the database server — e.g. mariadb:3306 if you run MariaDB as a separate Unraid container on the bridge network.

Target
EBK_DATABASE_HOST
Database NameVariable

Only used when Database Type is mysql or postgres. Name of the database to use (must already exist on the DB server).

Target
EBK_DATABASE_NAME
Database UserVariable

Only used when Database Type is mysql or postgres. Username with full privileges on the database above.

Target
EBK_DATABASE_USER
Database PasswordVariable

Only used when Database Type is mysql or postgres. Password for the database user.

Target
EBK_DATABASE_PASSWD
Log ModeVariable

Optional. Log output mode: console, file, or console,file. Leave blank for the image default.

Target
EBK_LOG_MODE

Download Statistics

430,213
Total Downloads

Details

Repository
mayswind/ezbookkeeping:latest
Last Updated2026-05-27
First Seen2026-05-16

Run ezBookkeeping on Unraid.

ezBookkeeping is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.