en:kresus:start
Differences
This shows you the differences between two versions of the page.
| en:kresus:start [2026/03/08 18:39] – created lonclegr | en:kresus:start [2026/03/08 22:20] (current) – lonclegr | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| - | Tutorial for Kresus with docker compose | + | ===== 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:// | ||
| + | |||
| + | 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 ~/ | ||
| + | # Go into it | ||
| + | cd ~/ | ||
| + | |||
| + | # Create compose.yaml file | ||
| + | cat << EOF > compose.yaml | ||
| + | services: | ||
| + | db: | ||
| + | image: " | ||
| + | restart: unless-stopped | ||
| + | env_file: | ||
| + | - path: ./.env | ||
| + | required: true | ||
| + | volumes: | ||
| + | - postgres_data:/ | ||
| + | kresus: | ||
| + | image: " | ||
| + | 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 [[https:// | ||
| + | - 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:// | ||
| + | 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:// | ||
| + | </ | ||
| + | |||
| + | ===== 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/ | ||
| + | - 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 8-o | ||
| + | - 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
