| config | ||
| sql | ||
| src | ||
| testing/unittests | ||
| .gitignore | ||
| .project-root | ||
| 502.html | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
| VERSION | ||
EZGG LAN Manager
Overview
This repository contains the code for the EZGG LAN Manager.
Development Setup
Prerequisites
- Working Installation of MySQL 5 or latest MariaDB Server (
mariadb-serverfor Debian-based Linux,XAMPPfor 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/ezgg_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 EzggLanManager.py found at src/ezgg_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:
- Create a valid
config.tomlin the project root, so it gets copied over into the container. - Create the database user:
CREATE USER 'ezgg_lan_manager'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON ezgg_lan_manager.* TO 'ezgg_lan_manager'@'%';
FLUSH PRIVILEGES;
- Make sure to NOT use the default passwords!
- Apply the
create_database.sqlwhen starting the MariaDB container for the first time.