Prerequisites
You'll need some prerequisite software to run DMT:
- Python (3.9)
- Redis
You'll need other prerequisites for the out of the box confiruation:
- SystemD
Installing
Installing For Debian 11
The install process for DMT can range form simple to difficult. If you are running Debian 11 and Python 3.9 there is an install archive that includes all of the pip prerequisites installed as a virtual environment. To get started with the Developer MultiTool, you can download it by running the following command:
wget http://brightagesoftware.com/dmt/releases/dmt-1.0.27-python39-debian11.zip
Unzip the archive and run the setup script (setup.py). This will install a configuration file at the /etc/default directory and a set of SystemD configurations for a web instance, scheduler instance, and worker instance. After this is done, you can configure an Nginx proxy instance to point to the webserver in the usual way. By default, your instance will be using a SQLite database. You can change this by changing the configuration file installed at the /etc/default directory.
Installing for Others
DMT is tested with Debian 11 and Python 3.9, so the install script is most likely to work with that environment. The application should work on other platforms and configurations, but it will require a few more steps to get it off the ground. Start by grabbing the code-only archive
wget http://brightagesoftware.com/dmt/releases/dmt-1.0.127.zip
After you extract the archive, create a virtual environment in the extracted directory:
cd dmt-1.0.127/
python3 -m venv .
source bin/activate
pip install -r requirements.txt
Once the prerequisites are installed, you can run the setup.py script that is in the unzipped directory. The script includes all of the steps needed to install the software. If any of these steps fail, it will take some investiagation to determine the cause of installation failure. Please contribute your code back if you solve a problem on a different system!
Install From Code
This will be available soon. I'm still working on getting a community site established to share the code and collaborate.