Command Line Installation Guide
- Install the
moduli_generatorapplication first, and then - Install the
moduli_generatorSQL schema and user spec in your MariaDB database.
MariaDB Server Integration & Optional Install
Prerequisites
Before installation, ensure you're platform meets the following requirements:
- Python ≥ 3.12
- OpenSSH ≥ 9.9p2
- MariaDB Client ≥ 11.4
- Curl ≥ 8.15
Installation Process
Step 1: Create and Use Application Directory
Step 2: Download the Installer
Cut and paste the following command into your terminal:
curl -fsSL -o install_mg.sh https://raw.githubusercontent.com/beckerwilliams/moduli_generator/HEAD/data/bash_scripts/install_mg.sh
Step 3: Prepare and Run the Installer
Make the installer executable and run it:
Step 4: Configuration
When prompted, enter your database connection details:
[ Database Configuration ]
Enter MariaDB host [localhost]: # Press Enter for default
Enter MariaDB port [3306]: # Press Enter for default
Enter database name [moduli_db]: # Press Enter for default
Enter MariaDB username [moduli_generator]: # Press Enter for default
What the Installer Does
The installer performs these tasks automatically:
- Collects database configuration information
- Creates the database connection profile at
${MODULI_HOME}/moduli_generator.cnf - Creates a temporary virtual environment and builds the Python wheel
- Installs the wheel and sets up the application environment
Verification
On successful installation, you'll see:
✓ Runtime installation completed successfully
✓ Installation completed successfully!
To activate the environment, run: source .venv/bin/activate
To test the installation, run: moduli_generator --help
Testing Your Installation
Verify your installation works by running:
This should display the help information for the Moduli Generator tool.
Troubleshooting
If you encounter any issues during installation, check:
- Sample Installation Log for comparison
- That your MariaDB user has the correct permissions
- That all prerequisites are correctly installed
For additional help, please refer to the project's GitHub issues page.