51 lines
1.4 KiB
Markdown
51 lines
1.4 KiB
Markdown
# API
|
|
|
|
Aktienbot API
|
|
|
|
## Development
|
|
1. Create virtual environment `python -m venv venv env/Scripts/activate`
|
|
2. Install requirements `pip install -r api/requirements.txt`
|
|
3. Set environment variables (see list below)
|
|
1. Use `.env`-file in `api` directory like `.env.example`
|
|
2. Or set variables using `export` or `set` commands. (Windows `set`, Linux `export`)
|
|
4. Run api `python api/app.py`
|
|
|
|
|
|
## Testing
|
|
1. Create virtual environment `python -m venv venv env/Scripts/activate`
|
|
2. Install requirements `pip install -r api/requirements.txt`
|
|
3. Set environment variables (see list below)
|
|
1. Use `.env`-file in `api` directory like `.env.example`
|
|
2. Or set variables using `export` or `set` commands. (Windows `set`, Linux `export`)
|
|
4. Change directory: `cd api/`
|
|
5. Run tests: `python -m pytest -v --cov-report term-missing --cov=app`
|
|
|
|
## Environment variables
|
|
```
|
|
# Flask secret key
|
|
SECRET_KEY=
|
|
|
|
# MYSQL Connection
|
|
MYSQL_USER=
|
|
MYSQL_PASSWORD=
|
|
MYSQL_HOST=
|
|
MYSQL_PORT=
|
|
MYSQL_DATABASE=
|
|
```
|
|
|
|
## Docker
|
|
```
|
|
docker run -d \
|
|
--name aktienbot_api \
|
|
--hostname aktienbot_api \
|
|
--publish 80:80 \
|
|
--env "SECRET_KEY=" \
|
|
--env "MYSQL_USER=" \
|
|
--env "MYSQL_PASSWORD=" \
|
|
--env "MYSQL_HOST=" \
|
|
--env "MYSQL_PORT=" \
|
|
--env "MYSQL_DATABASE=" \
|
|
--restart unless-stopped \
|
|
registry.flokaiser.com/aktienbot/api:latest
|
|
```
|
|
or load environment variables from file by using `--env-file <filename>` |