Compare commits
1 Commits
main
...
renovate/t
Author | SHA1 | Date | |
---|---|---|---|
c2ce55af1c |
10
.drone.yml
10
.drone.yml
@ -38,7 +38,6 @@ steps:
|
||||
- cd moneymgr_backend
|
||||
- rustup component add clippy
|
||||
- cargo clippy -- -D warnings
|
||||
- cargo clippy --example api_curl -- -D warnings
|
||||
|
||||
- name: backend_test
|
||||
image: rust
|
||||
@ -52,7 +51,7 @@ steps:
|
||||
- cargo test
|
||||
|
||||
|
||||
- name: backend_build
|
||||
- name: backend_compile
|
||||
image: rust
|
||||
volumes:
|
||||
- name: rust_registry
|
||||
@ -68,16 +67,15 @@ steps:
|
||||
- cd moneymgr_backend
|
||||
- mv /tmp/web_build/dist static
|
||||
- cargo build --release
|
||||
- cargo build --release --example api_curl
|
||||
- ls -lah target/release/moneymgr_backend target/release/examples/api_curl
|
||||
- cp target/release/moneymgr_backend target/release/examples/api_curl /tmp/release
|
||||
- ls -lah target/release/moneymgr_backend
|
||||
- cp target/release/moneymgr_backend /tmp/release
|
||||
|
||||
|
||||
# Release
|
||||
- name: gitea_release
|
||||
image: plugins/gitea-release
|
||||
depends_on:
|
||||
- backend_build
|
||||
- backend_compile
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
38
README.md
38
README.md
@ -3,46 +3,10 @@
|
||||
|
||||
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
|
||||
2. docker-compose
|
||||
3. rust
|
||||
4. node
|
||||
|
||||
|
@ -1,10 +0,0 @@
|
||||
MINIO_ROOT_USER=rootuser
|
||||
MINIO_ROOT_PASSWORD=rootpassword
|
||||
DB_USER=db_user
|
||||
DB_PASSWORD=db_password
|
||||
REDIS_PASS=redis_password
|
||||
WEBSITE_ORIGIN=http://localhost:8000
|
||||
APP_SECRET=secretsecretsecretsecretsecretsecretsecretsecretsecretsecretsecret
|
||||
AUTH_SECRET_KEY=secretsecretsecretsecretsecretsecretsecretsecretsecretsecretsecret
|
||||
OIDC_CLIENT_ID=bar
|
||||
OIDC_CLIENT_SECRET=foo
|
3
docker_prod/.gitignore
vendored
3
docker_prod/.gitignore
vendored
@ -1,3 +0,0 @@
|
||||
.env
|
||||
storage
|
||||
auth/users.json
|
@ -1,5 +0,0 @@
|
||||
- id: ${OIDC_CLIENT_ID}
|
||||
name: MoneyMgr
|
||||
description: Money management tool
|
||||
secret: ${OIDC_CLIENT_SECRET}
|
||||
redirect_uri: ${APP_ORIGIN}/oidc_cb
|
@ -1,79 +0,0 @@
|
||||
services:
|
||||
minio:
|
||||
image: minio/minio
|
||||
user: "1000"
|
||||
environment:
|
||||
- MINIO_ROOT_USER=$MINIO_ROOT_USER
|
||||
- MINIO_ROOT_PASSWORD=$MINIO_ROOT_PASSWORD
|
||||
volumes:
|
||||
- ./storage/minio:/data
|
||||
command: [ "minio", "server", "/data", "--console-address", ":9090" ]
|
||||
ports:
|
||||
- 9000:9000
|
||||
- 9090:9090
|
||||
expose:
|
||||
- 9000
|
||||
|
||||
db:
|
||||
image: postgres
|
||||
user: "1000"
|
||||
ports:
|
||||
- "5432:5432"
|
||||
expose:
|
||||
- 5432
|
||||
environment:
|
||||
- POSTGRES_USER=$DB_USER
|
||||
- POSTGRES_PASSWORD=$DB_PASSWORD
|
||||
- POSTGRES_DB=moneymgr
|
||||
volumes:
|
||||
- ./storage/db:/var/lib/postgresql/data
|
||||
|
||||
oidc:
|
||||
image: pierre42100/basic_oidc
|
||||
user: "1000"
|
||||
environment:
|
||||
- LISTEN_ADDRESS=0.0.0.0:9001
|
||||
- STORAGE_PATH=/storage
|
||||
- TOKEN_KEY=$AUTH_SECRET_KEY
|
||||
- WEBSITE_ORIGIN=http://localhost:9001
|
||||
- OIDC_CLIENT_ID=$OIDC_CLIENT_ID
|
||||
- OIDC_CLIENT_SECRET=$OIDC_CLIENT_SECRET
|
||||
- APP_ORIGIN=$WEBSITE_ORIGIN
|
||||
expose:
|
||||
- 9001
|
||||
ports:
|
||||
- 9001:9001
|
||||
volumes:
|
||||
- ./auth:/storage
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
user: "1000"
|
||||
command: redis-server --requirepass ${REDIS_PASS:-secretredis}
|
||||
expose:
|
||||
- 6379
|
||||
volumes:
|
||||
- ./storage/redis-data:/data
|
||||
- ./storage/redis-conf:/usr/local/etc/redis/redis.conf
|
||||
|
||||
moneymgr:
|
||||
image: pierre42100/moneymgr_backend
|
||||
user: "1000"
|
||||
ports:
|
||||
- 8000:8000
|
||||
environment:
|
||||
- WEBSITE_ORIGIN=${WEBSITE_ORIGIN}
|
||||
- SECRET=${APP_SECRET}
|
||||
- DB_HOST=db
|
||||
- DB_USERNAME=$DB_USER
|
||||
- DB_PASSWORD=$DB_PASSWORD
|
||||
- DB_NAME=moneymgr
|
||||
- OIDC_CONFIGURATION_URL=http://oidc:9001/.well-known/openid-configuration
|
||||
- OIDC_PROVIDER_NAME=OIDC
|
||||
- OIDC_CLIENT_ID=$OIDC_CLIENT_ID
|
||||
- OIDC_CLIENT_SECRET=$OIDC_CLIENT_SECRET
|
||||
- S3_ENDPOINT=http://minio:9000
|
||||
- S3_ACCESS_KEY=$MINIO_ROOT_USER
|
||||
- S3_SECRET_KEY=$MINIO_ROOT_PASSWORD
|
||||
- REDIS_HOSTNAME=redis
|
||||
- REDIS_PASSWORD=${REDIS_PASS:-secretredis}
|
@ -14,7 +14,7 @@ use std::process::Command;
|
||||
struct Args {
|
||||
/// URL to Money manager API
|
||||
#[arg(short('U'), long, env, default_value = "http://localhost:8000/api")]
|
||||
moneymgr_url: String,
|
||||
matrix_gw_url: String,
|
||||
|
||||
/// Token ID
|
||||
#[arg(short('i'), long, env)]
|
||||
@ -39,8 +39,7 @@ struct Args {
|
||||
fn main() {
|
||||
let args: Args = Args::parse();
|
||||
|
||||
let full_url = format!("{}{}", args.moneymgr_url, args.uri);
|
||||
|
||||
let full_url = format!("{}{}", args.matrix_gw_url, args.uri);
|
||||
log::debug!("Full URL: {full_url}");
|
||||
|
||||
let key = HS256Key::from_bytes(args.token_secret.as_bytes());
|
||||
|
8
moneymgr_web/package-lock.json
generated
8
moneymgr_web/package-lock.json
generated
@ -27,7 +27,7 @@
|
||||
"react-dom": "^19.1.0",
|
||||
"react-router": "^7.6.0",
|
||||
"react-router-dom": "^7.6.0",
|
||||
"ts-pattern": "^5.7.0"
|
||||
"ts-pattern": "^5.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.26.0",
|
||||
@ -5448,9 +5448,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ts-pattern": {
|
||||
"version": "5.7.0",
|
||||
"resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.7.0.tgz",
|
||||
"integrity": "sha512-0/FvIG4g3kNkYgbNwBBW5pZBkfpeYQnH+2AA3xmjkCAit/DSDPKmgwC3fKof4oYUq6gupClVOJlFl+939VRBMg==",
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-pattern/-/ts-pattern-5.7.1.tgz",
|
||||
"integrity": "sha512-EGs8PguQqAAUIcQfK4E9xdXxB6s2GK4sJfT/vcc9V1ELIvC4LH/zXu2t/5fajtv6oiRCxdv7BgtVK3vWgROxag==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
|
@ -29,7 +29,7 @@
|
||||
"react-dom": "^19.1.0",
|
||||
"react-router": "^7.6.0",
|
||||
"react-router-dom": "^7.6.0",
|
||||
"ts-pattern": "^5.7.0"
|
||||
"ts-pattern": "^5.7.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^9.26.0",
|
||||
|
Loading…
x
Reference in New Issue
Block a user