en:kresus:start
Table of Contents
Kresus
What is it ?
Kresus is a free & libre personal management software which runs on your server.
In a few words, that's how we can resume the purpose of this application. Fore more details, please visit https://kresus.org/en/
You can find there all features of the app and a few tutorials.
So you could ask why I am doing this web page then ? Well, because:
- my use case does not really match the app design. I mean I don't use it for a personal account, I don't get automatic feed from internet but I do use it for a 4-to-8-shared-users account.
- I share a few tips and give my feedback to thank people who worked on this app and still do.
How to test locally first ?
To start the app locally (on your Debian 12 laptop like me ), you can reuse this tiny script which contains the strict minimum.
# Create workspace folder
mkdir -p ~/workspace/sandbox/kresus
# Go into it
cd ~/workspace/sandbox/kresus
# Create compose.yaml file
cat << EOF > compose.yaml
services:
db:
image: "postgres:16.11"
restart: unless-stopped
env_file:
- path: ./.env
required: true
volumes:
- postgres_data:/var/lib/postgresql/data/
kresus:
image: "bnjbvr/kresus:0.23.5"
restart: unless-stopped
ports:
- 9876:9876
depends_on:
- db
env_file:
- path: ./.env
required: true
volumes:
postgres_data:
EOF
A few comments about choices I've made (quite different from official compose file):
- I did not use apprise to notify anything because I don't need it.
- I removed the traefik proxy section since I already have a proxy in my future production environment.
- I do have only one persistent docker volume for the database because I don't use woob to retrieve any data from internet.
- Finally I use to use environment file instead of inline variables. Here is an example below.
cat << EOF > .env POSTGRES_USER=kresus POSTGRES_PASSWORD=OeSoh9Dob6phahWa POSTGRES_DB=kresus LOCAL_USER_ID=1000 KRESUS_DB_TYPE=postgres KRESUS_DB_HOST=db KRESUS_DB_PORT=5432 KRESUS_DB_USERNAME=kresus KRESUS_DB_PASSWORD=OeSoh9Dob6phahWa KRESUS_APPRISE_API_BASE_URL=http://apprise:8000 KRESUS_EMAIL_TRANSPORT=smtp KRESUS_EMAIL_FROM=kresus@domain.com KRESUS_EMAIL_HOST=localhost KRESUS_EMAIL_PORT=25 KRESUS_EMAIL_USER=kresus KRESUS_EMAIL_PASSWORD=kresus EOF
Then you can start the stack and browser the app.
sudo docker compose up -d firefox http://localhost:9876
Feedback
- It works and fulfills what I was looking for. Plus it is self-hosted so I love it
- I did quick test on smartphones and it seems to work well too. Very appreciated even if it was not on my wish list.
- My main expectations for this app were:
- Categorize money input/output
- View account balance in different time windows.
- Make queries with different criteria (dates, tags, categories…)
- All those points above are present and working, that's why I put kresus into my production environment.
- Some suggestions of improvement:
- Be able to create accounts as we want. By default, the app creates 3 accounts that we can only delete or rename. Weird
- Manage yearly budget instead or in addition to monthly budget.
- Make custom views in read only and shareable mode.
- Last but not least: when we setup a recurrent debit, then be able to create them for the full year in order to see the expected balance for the year,
Thanks to core devs for this great tool!
en/kresus/start.txt · Last modified: by lonclegr
