# MoneyMgr
[![Build Status](https://drone.communiquons.org/api/badges/pierre/MoneyMgr/status.svg)](https://drone.communiquons.org/pierre/MoneyMgr)

Open Source web-based personal expenses tool.

**Note :** This project does not handle authentication itself. Instead, it relies on OpenID to achieve users authentication.

## Setup prod env
1. Install prerequisites:
   1. docker
   2. docker compose
   3. git

2. Clone this git repository:
```bash
git clone https://gitea.communiquons.org/pierre/MoneyMgr
cd MoneyMgr/docker_prod
```

3. Copy and adapt env values
```bash
cp .env.sample .env
nano .env
```

4. Create required directories:

```bash
mkdir -p storage/{db,redis-data,redis-conf,minio}
```

5. Start containers

```bash
docker compose up
```

6. Checkout http://localhost:8000/

> The default credentials are `admin` / `admin`

## Setup dev env
1. Install prerequisites:
   1. docker
   2. docker compose
   3. rust
   4. node

2. Start services
```
cd moneymgr_backend
mkdir -p storage/{db,redis-data,redis-conf,minio}
docker compose up
```

3. Install Diesel CLI:

```bash
sudo apt install libpq5 libpq-dev pkg-config libssl-dev cmake
cargo install diesel_cli --no-default-features --features postgres
```


4. Initialize database:

```bash
diesel migration run
```

> Note: You can access the database directly using this command:
> 
> ```bash
> PGPASSWORD=pass psql -h localhost -p 5432 -U user -d moneymgr
> ```


