mirror of
				https://github.com/Akkudoktor-EOS/EOS.git
				synced 2025-11-04 00:36:21 +00:00 
			
		
		
		
	* Update README/CONTRIBUTING Closes #180 * Remove duplicated files in docs/develop and copy them from project root to there on documentation generation. * Makefile: Use fastapi to start server, set port to 8503
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							b3914ab16b
						
					
				
				
					commit
					edfe309a26
				
			
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,6 +1,8 @@
 | 
				
			|||||||
cache/
 | 
					cache/
 | 
				
			||||||
output/
 | 
					output/
 | 
				
			||||||
EOS.config.json
 | 
					EOS.config.json
 | 
				
			||||||
 | 
					docs/develop/CONTRIBUTING.md
 | 
				
			||||||
 | 
					docs/develop/getting_started.md
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Default ignore folders and files for VS Code, Python
 | 
					# Default ignore folders and files for VS Code, Python
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,14 +19,38 @@ There are just too many possibilities and the project would drown in tickets oth
 | 
				
			|||||||
We welcome code contributions and bug fixes via [Pull Requests](https://github.com/Akkudoktor-EOS/EOS/pulls).
 | 
					We welcome code contributions and bug fixes via [Pull Requests](https://github.com/Akkudoktor-EOS/EOS/pulls).
 | 
				
			||||||
To make collaboration easier, we require pull requests to pass code style and unit tests.
 | 
					To make collaboration easier, we require pull requests to pass code style and unit tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Setup development environment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Setup virtual environment, then activate virtual environment and install development dependencies.
 | 
				
			||||||
 | 
					See also [README.md](README.md).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					python -m venv .venv
 | 
				
			||||||
 | 
					source .venv/bin/activate
 | 
				
			||||||
 | 
					pip install -r requirements-dev.txt
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install make to get access to helpful shortcuts (documentation generation, manual formatting, etc.).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- On Linux (Ubuntu/Debian):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ```bash
 | 
				
			||||||
 | 
					  sudo apt install make
 | 
				
			||||||
 | 
					  ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- On MacOS (requires [Homebrew](https://brew.sh)):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ```zsh
 | 
				
			||||||
 | 
					  brew install make
 | 
				
			||||||
 | 
					  ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The server can be started with `make run`. A full overview of the main shortcuts is given by `make help`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Code Style
 | 
					### Code Style
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Our code style checks use [`pre-commit`](https://pre-commit.com).
 | 
					Our code style checks use [`pre-commit`](https://pre-commit.com).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
pip install -r requirements-dev.txt
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To run formatting automatically before every commit:
 | 
					To run formatting automatically before every commit:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								Makefile
									
									
									
									
									
								
							@@ -16,7 +16,7 @@ help:
 | 
				
			|||||||
	@echo "  docker-build - Rebuild docker image"
 | 
						@echo "  docker-build - Rebuild docker image"
 | 
				
			||||||
	@echo "  docs         - Generate HTML documentation (in build/docs/html/)."
 | 
						@echo "  docs         - Generate HTML documentation (in build/docs/html/)."
 | 
				
			||||||
	@echo "  read-docs    - Read HTML documentation in your browser."
 | 
						@echo "  read-docs    - Read HTML documentation in your browser."
 | 
				
			||||||
	@echo "  run          - Run FastAPI server in the virtual environment (needs install before)."
 | 
						@echo "  run          - Run FastAPI production server in the virtual environment."
 | 
				
			||||||
	@echo "  run-dev      - Run FastAPI development server in the virtual environment (automatically reloads)."
 | 
						@echo "  run-dev      - Run FastAPI development server in the virtual environment (automatically reloads)."
 | 
				
			||||||
	@echo "  dist         - Create distribution (in dist/)."
 | 
						@echo "  dist         - Create distribution (in dist/)."
 | 
				
			||||||
	@echo "  clean        - Remove generated documentation, distribution and virtual environment."
 | 
						@echo "  clean        - Remove generated documentation, distribution and virtual environment."
 | 
				
			||||||
@@ -51,6 +51,12 @@ dist: pip
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Target to generate HTML documentation
 | 
					# Target to generate HTML documentation
 | 
				
			||||||
docs: pip-dev
 | 
					docs: pip-dev
 | 
				
			||||||
 | 
						cp README.md docs/develop/getting_started.md
 | 
				
			||||||
 | 
						# remove top level header and coresponding description
 | 
				
			||||||
 | 
						sed -i '/^##[^#]/,$$!d' docs/develop/getting_started.md
 | 
				
			||||||
 | 
						sed -i "1i\# Getting Started\n" docs/develop/getting_started.md
 | 
				
			||||||
 | 
						cp CONTRIBUTING.md docs/develop
 | 
				
			||||||
 | 
						sed -i "s/README.md/getting_started.md/g" docs/develop/CONTRIBUTING.md
 | 
				
			||||||
	.venv/bin/sphinx-build -M html docs build/docs
 | 
						.venv/bin/sphinx-build -M html docs build/docs
 | 
				
			||||||
	@echo "Documentation generated to build/docs/html/."
 | 
						@echo "Documentation generated to build/docs/html/."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -69,11 +75,11 @@ clean:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
run:
 | 
					run:
 | 
				
			||||||
	@echo "Starting FastAPI server, please wait..."
 | 
						@echo "Starting FastAPI server, please wait..."
 | 
				
			||||||
	.venv/bin/python -m akkudoktoreos.server.fastapi_server
 | 
						.venv/bin/fastapi run --port 8503 src/akkudoktoreos/server/fastapi_server.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
run-dev:
 | 
					run-dev:
 | 
				
			||||||
	@echo "Starting FastAPI development server, please wait..."
 | 
						@echo "Starting FastAPI development server, please wait..."
 | 
				
			||||||
	.venv/bin/fastapi dev src/akkudoktoreos/server/fastapi_server.py
 | 
						.venv/bin/fastapi dev --port 8503 src/akkudoktoreos/server/fastapi_server.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Target to setup tests.
 | 
					# Target to setup tests.
 | 
				
			||||||
test-setup: pip-dev
 | 
					test-setup: pip-dev
 | 
				
			||||||
@@ -91,7 +97,7 @@ test-full:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Target to format code.
 | 
					# Target to format code.
 | 
				
			||||||
format:
 | 
					format:
 | 
				
			||||||
	pre-commit run --all-files
 | 
						.venv/bin/pre-commit run --all-files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Run entire setup on docker
 | 
					# Run entire setup on docker
 | 
				
			||||||
docker-run:
 | 
					docker-run:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										98
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								README.md
									
									
									
									
									
								
							@@ -8,14 +8,34 @@ See [CONTRIBUTING.md](CONTRIBUTING.md).
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Installation
 | 
					## Installation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Good installation guide:
 | 
					The project requires Python 3.9 or newer. Currently there are no official packages or images published.
 | 
				
			||||||
<https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
The project requires Python 3.10 or newer.
 | 
					Following sections describe how to locally start the EOS server on `http://localhost:8503`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Run from source
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install dependencies in virtual environment:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					python -m venv .venv
 | 
				
			||||||
 | 
					.venv/bin/pip install -r requirements.txt
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Finally, start EOS fastapi server:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					.venv/bin/fastapi run --port 8503 src/akkudoktoreos/server/fastapi_server.py
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					docker compose up --build
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Configuration
 | 
					## Configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This project uses a `config.json` file to manage configuration settings.
 | 
					This project uses the `EOS.config.json` file to manage configuration settings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Default Configuration
 | 
					### Default Configuration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -26,70 +46,11 @@ A default configuration file `default.config.json` is provided. This file contai
 | 
				
			|||||||
Users can specify a custom configuration directory by setting the environment variable `EOS_DIR`.
 | 
					Users can specify a custom configuration directory by setting the environment variable `EOS_DIR`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- If the directory specified by `EOS_DIR` contains an existing `config.json` file, the application will use this configuration file.
 | 
					- If the directory specified by `EOS_DIR` contains an existing `config.json` file, the application will use this configuration file.
 | 
				
			||||||
- If the `config.json` file does not exist in the specified directory, the `default.config.json` file will be copied to the directory as `config.json`.
 | 
					- If the `EOS.config.json` file does not exist in the specified directory, the `default.config.json` file will be copied to the directory as `EOS.config.json`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Configuration Updates
 | 
					### Configuration Updates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If the configuration keys in the `config.json` file are missing or different from those in `default.config.json`, they will be automatically updated to match the default settings, ensuring that all required keys are present.
 | 
					If the configuration keys in the `EOS.config.json` file are missing or different from those in `default.config.json`, they will be automatically updated to match the default settings, ensuring that all required keys are present.
 | 
				
			||||||
 | 
					 | 
				
			||||||
### Quick Start Guide
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On Linux (Ubuntu/Debian):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
sudo apt install make
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On MacOS (requires [Homebrew](https://brew.sh)):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```zsh
 | 
					 | 
				
			||||||
brew install make
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The server can be started with `make run`. A full overview of the main shortcuts is given by `make help`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Detailed Instructions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
All necessary dependencies can be installed via `pip`. Clone the repository and install the required packages with:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
git clone https://github.com/Akkudoktor-EOS/EOS
 | 
					 | 
				
			||||||
cd EOS
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Next, create a virtual environment. This serves to store the Python dependencies, which we will install later using `pip`:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
python -m venv .venv
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Finally, install the Python dependencies for EOS:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
.venv/bin/pip install -r requirements.txt
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To always use the Python version from the virtual environment, you should activate it before working in EOS:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
source .venv/bin/activate
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Usage
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To use the system and start the server, run `fastapi_server.py` in the previously activated virtual environment:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
fastapi run src/akkudoktoreos/server/fastapi_server.py
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Docker
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To run the system with Docker:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
docker compose up --build
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Classes and Functionalities
 | 
					## Classes and Functionalities
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -115,4 +76,9 @@ Each class is designed to be easily customized and extended to integrate additio
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Server API
 | 
					## Server API
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See the Swagger documentation for detailed information: [EOS OpenAPI Spec](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/docs/akkudoktoreos/openapi.json)
 | 
					See the Swagger API documentation for detailed information: [EOS OpenAPI Spec](https://petstore3.swagger.io/?url=https://raw.githubusercontent.com/Akkudoktor-EOS/EOS/refs/heads/main/docs/akkudoktoreos/openapi.json)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Further resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 - [Installation guide (de)](https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,48 +0,0 @@
 | 
				
			|||||||
# Contributing to EOS
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Thanks for taking the time to read this!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The `EOS` project is in early development, therefore we encourage contribution in the following ways:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Bug Reports
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Please report flaws or vulnerabilities in the [GitHub Issue Tracker]((https://github.com/Akkudoktor-EOS/EOS/issues)) using the corresponding issue template.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Ideas & Features
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Please first discuss the idea in a [GitHub Discussion](https://github.com/Akkudoktor-EOS/EOS/discussions) or the [Akkudoktor Forum](https://www.akkudoktor.net/forum/diy-energie-optimierungssystem-opensource-projekt/) before opening an issue.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
There are just too many possibilities and the project would drown in tickets otherwise.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Code Contributions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
We welcome code contributions and bug fixes via [Pull Requests](https://github.com/Akkudoktor-EOS/EOS/pulls).
 | 
					 | 
				
			||||||
To make collaboration easier, we require pull requests to pass code style and unit tests.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Code Style
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Our code style checks use [`pre-commit`](https://pre-commit.com).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
pip install -r requirements.txt
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To run formatting automatically before every commit:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
pre-commit install
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Or run them manually:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
pre-commit --all
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Tests
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Use `pytest` to run tests locally:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
python -m pytest -vs --cov modules --cov-report term-missing tests/
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
@@ -1,90 +0,0 @@
 | 
				
			|||||||
% SPDX-License-Identifier: Apache-2.0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Getting Started
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Installation
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Good installation guide:
 | 
					 | 
				
			||||||
https://meintechblog.de/2024/09/05/andreas-schmitz-joerg-installiert-mein-energieoptimierungssystem/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The project requires Python 3.10 or newer.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Quick Start Guide
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On Linux (Ubuntu/Debian):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
sudo apt install make
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
On MacOS (requires [Homebrew](https://brew.sh)):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```zsh
 | 
					 | 
				
			||||||
brew install make
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The server can then be started with `make run`. A full overview of the main shortcuts is given by `make help`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Detailed Instructions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
All necessary dependencies can be installed via `pip`. Clone the repository and install the required packages with:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
git clone https://github.com/Akkudoktor-EOS/EOS
 | 
					 | 
				
			||||||
cd EOS
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Next, create a virtual environment. This serves to store the Python dependencies, which we will install later using `pip`:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
virtualenv .venv
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Finally, install the Python dependencies for EOS:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
.venv/bin/pip install -r requirements.txt
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To always use the Python version from the virtual environment, you should activate it before working in EOS:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
source .venv/bin/activate
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(for Bash users, the default under Linux) or
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```zsh
 | 
					 | 
				
			||||||
. .venv/bin/activate
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Usage
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Configuration
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This project uses a `config.json` file to manage configuration settings.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Default Configuration
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
A default configuration file `default.config.json` is provided. This file contains all the necessary configuration keys with their default values.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Custom Configuration
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Users can specify a custom configuration directory by setting the environment variable `EOS_DIR`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- If the directory specified by `EOS_DIR` contains an existing `config.json` file, the application will use this configuration file.
 | 
					 | 
				
			||||||
- If the `config.json` file does not exist in the specified directory, the `default.config.json` file will be copied to the directory as `config.json`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### Configuration Updates
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If the configuration keys in the `config.json` file are missing or different from those in `default.config.json`, they will be automatically updated to match the default settings, ensuring that all required keys are present.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Run server
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To use the system, run `flask_server.py`, which starts the server:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
```bash
 | 
					 | 
				
			||||||
./flask_server.py
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user