Update
This commit is contained in:
		
							
								
								
									
										34
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								README.md
									
									
									
									
									
								
							@@ -3,10 +3,42 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Open Source web-based personal expenses tool.
 | 
					Open Source web-based personal expenses tool.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 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/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Setup dev env
 | 
					## Setup dev env
 | 
				
			||||||
1. Install prerequisites:
 | 
					1. Install prerequisites:
 | 
				
			||||||
   1. docker
 | 
					   1. docker
 | 
				
			||||||
   2. docker-compose
 | 
					   2. docker compose
 | 
				
			||||||
   3. rust
 | 
					   3. rust
 | 
				
			||||||
   4. node
 | 
					   4. node
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								docker_prod/.env.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								docker_prod/.env.sample
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					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
 | 
				
			||||||
							
								
								
									
										2
									
								
								docker_prod/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								docker_prod/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					.env
 | 
				
			||||||
 | 
					storage
 | 
				
			||||||
							
								
								
									
										27
									
								
								docker_prod/dex/dex.config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								docker_prod/dex/dex.config.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					issuer: http://localhost:9001/dex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					storage:
 | 
				
			||||||
 | 
					  type: memory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					web:
 | 
				
			||||||
 | 
					  http: 0.0.0.0:9001
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					oauth2:
 | 
				
			||||||
 | 
					  # Automate some clicking
 | 
				
			||||||
 | 
					  # Note: this might actually make some tests pass that otherwise wouldn't.
 | 
				
			||||||
 | 
					  skipApprovalScreen: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					connectors:
 | 
				
			||||||
 | 
					  # Note: this might actually make some tests pass that otherwise wouldn't.
 | 
				
			||||||
 | 
					  - type: mockCallback
 | 
				
			||||||
 | 
					    id: mock
 | 
				
			||||||
 | 
					    name: Example
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Basic OP test suite requires two clients.
 | 
				
			||||||
 | 
					staticClients:
 | 
				
			||||||
 | 
					  - id: foo
 | 
				
			||||||
 | 
					    secret: bar
 | 
				
			||||||
 | 
					    redirectURIs:
 | 
				
			||||||
 | 
					      - http://localhost:8000/oidc_cb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    name: Project
 | 
				
			||||||
							
								
								
									
										72
									
								
								docker_prod/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								docker_prod/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
				
			|||||||
 | 
					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: dexidp/dex
 | 
				
			||||||
 | 
					    user: "1000"
 | 
				
			||||||
 | 
					    expose:
 | 
				
			||||||
 | 
					      - 9001
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - 9001:9001
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - ./dex:/conf:ro
 | 
				
			||||||
 | 
					    command: [ "dex", "serve", "/conf/dex.config.yaml" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  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/dex/.well-known/openid-configuration
 | 
				
			||||||
 | 
					      - OIDC_PROVIDER_NAME=OIDC
 | 
				
			||||||
 | 
					      - OIDC_CLIENT_ID=foo
 | 
				
			||||||
 | 
					      - OIDC_CLIENT_SECRET=bar
 | 
				
			||||||
 | 
					      - 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}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user