ultron
Dependencies
Only Linux platform with systemd supports this.
Configuration
Parameter | Environment variable | Default (if not set) |
---|---|---|
Default port | ULTRON_PORT | 5050 |
Base URL | ULTRON_BASE_URL | Local server's https://FQDN:PORT. e.g. https://localhost:5050 |
SSL key file | ULTRON_SSL_KEY_FILE | '~/.ultron_key.pem' |
SSL certification file | ULTRON_SSL_CERT_FILE | '~/.ultron_cert.pem' |
Application secret | ULTRON_SECRET | Random string |
Authenntication method | ULTRON_AUTH_METHOD | 'pam_auth' |
Auth token validity | ULTRON_TOKEN_TIMEOUT | 3600 |
mongoDB host | ULTRON_DB_HOST | 'localhost:27017' |
mongoDB username | ULTRON_DB_USER | None |
mongoDB password | ULTRON_DB_PASS | None |
mongoDB data path | ULTRON_DB_PATH | '~/.ultron_data' |
Celery backend | ULTRON_CELERY_BACKEND | 'rpc://' |
Celery broker | ULTRON_CELERY_BROKER | 'redis://localhost:6379/' |
Auto scaling (max,min) concurrency | ULTRON_AUTOSCALE | '100,3' |
Plugins path | ULTRON_PLUGINS_PATH | '~/python_modules' |
Installation
First make sure your default python interpreter is python 3+
- Install dependencies
# Ubuntu / Debian
sudo apt-get install -y tmux build-essential libssl-dev libffi-dev python3-dev sshpass openssl
sudo pip install virtualenv
# RHEL / CentOS / Fedora
sudo yum install -y tmux gcc libffi-devel python3-devel openssl-devel sshpass openssl
sudo pip install virtualenv
Also install MongoDB and redis from their official site
- It is optional but recommended to use virtual python3 environment
# Activate virtual environment
virtualenv -p python3 ~/.venv
source ~/.venv/bin/activate
- Install
pip install ultron
- Generate SSL certificate and key file
openssl req -x509 -newkey rsa:4096 -nodes -out ~/.ultron_cert.pem -keyout ~/.ultron_key.pem -days 365
- Run application
# Run app
ultron-run
Command-line interface to interact with API
For more info about ultron CLI, click here: ultron-cli
Plugins
For more info about plugin tasks, click here: ultron-plugins