HomeBook is a self-hosted web application for organizing household tasks and joint financial planning. Developed for families, it creates structure, transparency, and collaboration in everyday life. Easily deployable on your own server via Docker.
- β Collaborative household task management
- π° Budget planning and expense tracking
- π¨βπ©βπ§βπ¦ Family-friendly user interface
- π Fully self-hosted β keep your data private
- π³ Easy deployment via Docker
- Docker & Docker Compose
- Optional: your own server or Raspberry Pi
services:
homebook:
image: lkcode/homebook:latest
container_name: homebook
restart: unless-stopped
volumes:
- homebook-data:/var/lib/homebook
volumes:
homebook-data:- Create a new proxy host in Nginx Proxy Manager
- Set the domain name (e.g.,
my-homebook.mydomain.com) - Set the scheme to
http - Set the forward hostname to
homebook(must be the same as the container name) - Set the forward port to
8080 - disable
Cache Assets - enable
Block Common Exploits - enable
Websockets Support
open your domain and you should see the HomeBook Setup.
coming soon...
- SQLite
- PostgreSQL (with external server)
- MySQL (with external server) - (Notice: MariaDB can be used, but is not officially tested)
- Server Connection Check - the server checks that all required dependencies are installed and that no setup is currently running.
- Admin User - create the first admin user with a username, password, and email address.
- Database Setup - configure the database connection and check the connection.
- Configuration - configure the application settings, such as the homebook instance name and language.
if all environment variables are set, correctly, the setup will be running automatically.
| Variable | Description |
|---|---|
DATABASE_PROVIDER |
the database provider (one of POSTGRESQL,SQLITE or MYSQL) |
DATABASE_HOST |
the database host (e.g., my-db.server.com) |
DATABASE_PORT |
the database port (e.g., 5432) |
DATABASE_NAME |
the database name (e.g., homebook) |
DATABASE_USER |
the database user (e.g., db_user) |
DATABASE_PASSWORD |
the database password (e.g., db_password) |
DATABASE_FILE |
the database file path (e.g. for sqlite, /var/lib/homebook/homebook.db) |
HOMEBOOK_USER_NAME |
the admin username (e.g., admin) |
HOMEBOOK_USER_PASSWORD |
the admin password (e.g., password) |
HOMEBOOK_CONFIGURATION_ACCEPT_LICENSES |
no value needed. if added, the licenses will be accepted automatically. |
HOMEBOOK_CONFIGURATION_NAME |
the name of the homebook instance (e.g., My HomeBook) |
HOMEBOOK_CONFIGURATION_DEFAULT_LOCALE |
the default ui locale (see languages) |
a-z
A-Z
0-9
!@#$%^&*()_+-=[]{}|;':",./<>?~`
- Create a directory on your host machine to store HomeBook data, e.g.,
mkdir -p /your/path/homebook. - Execute command to set rights
chown -R 21001 /your/path/homebook && chmod -R 770 /your/path/homebook(21001 is the standard homebook user-id for docker, replace if needed). - Modify your Docker Compose file to bind the volume to the host directory:
services:
homebook:
...
volumes:
- /host/path/homebook:/var/lib/homebooknotice: use the ENV VALUE in the environment variable HOMEBOOK_CONFIGURATION_DEFAULT_LOCALE
| Language | ENV VALUE |
|---|---|
| English | en-EN |
| German | de-DE |
we plan to support more languages in the future. For translations, we plan to use a community-driven approach via Weblate.
