46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
# EZ LAN Manager
|
|
|
|
## Overview
|
|
|
|
This repository contains the code for the EZ LAN Manager.
|
|
|
|
## Development Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Working Installation of MySQL 5 or latest MariaDB Server (`mariadb-server` for Debian-based Linux, `XAMPP` for Windows)
|
|
- Python 3.9 or higher
|
|
- PyCharm or similar IDE (optional)
|
|
|
|
### Step 1: Preparing Database
|
|
|
|
To prepare the database, apply the SQL file located in `sql/create_database.sql` to your database server. This is easily accomplished with the MYSQL Workbench, but it can be also done by pipeing the file into the mariadb-server executable.
|
|
|
|
Optionally, you can now execute the script `create_demo_database_content.py`, found in `src/ez_lan_manager/helpers`. Be aware that it can be buggy sometimes, especially if you overwrite existing data.
|
|
|
|
### Step 2: Preparing configuration
|
|
|
|
Use the example configuration at `config/config.example.toml` to create a `config.toml` at the base of the repository. Most of the parameters do not matter to get the development setup done, but the database credentials need to be correct.
|
|
|
|
### Step 3: Install dependecies
|
|
|
|
Use `pip install -r requirements.txt` to install the requirements. The usage of a venv is recommended.
|
|
|
|
### Step 4: Running the application
|
|
|
|
Run the application by executing the file `EzLanManager.py` found at `src/ez_lan_manager`. Check the STDOUT for information regarding the port on which the application is now served.
|
|
|
|
## Docker Deployment
|
|
|
|
To get the docker compose setup running, you need to manually complete the following steps:
|
|
|
|
1. Create a valid `config.toml` in the project root, so it gets copied over into the container.
|
|
2. Create the database user:
|
|
```sql
|
|
CREATE USER 'ez_lan_manager'@'%' IDENTIFIED BY 'PASSWORD';
|
|
GRANT ALL PRIVILEGES ON ez_lan_manager.* TO 'ez_lan_manager'@'%';
|
|
FLUSH PRIVILEGES;
|
|
```
|
|
3. Make sure to **NOT** use the default passwords!
|
|
4. Apply the `create_database.sql` when starting the MariaDB container for the first time.
|