Manual TNLCM Installation
Requirements
- OpenNebula: 6.10.0
- MinIO: 2024-10-02T17-50-41Z
- Jenkins: 2.492.1
You can install the full stack MinIO, Jenkins and TNLCM in OpenNebula by following the toolkit installer guide here.
Download installations scripts
Backend
Download the backend installation script using one of the following command.
- Using
curl
:
curl -O https://raw.githubusercontent.com/6G-SANDBOX/TNLCM/v1.0.0/scripts/install.sh
- Using
wget
:
wget https://raw.githubusercontent.com/6G-SANDBOX/TNLCM/v1.0.0/scripts/install.sh
Execute installations scripts
Start with the backend installation script.
Give execution permissions to backend installation script:
chmod +x install.sh
Run the script and follow the instructions:
./install.sh
A Swagger UI will be available at the url http://tnlcm-backend-ip:5000 where the API with the endpoints are exposed.
About the backend installation script
The install.sh
script is designed to automate the installation and configuration of the Trial Network Lifecycle Manager (TNLCM) backend and its dependencies on Ubuntu 22.04 or 24.04 systems.
It will perform the following actions:
- Validate that the script is run as root and the OS version is supported.
- Install required packages and dependencies including:
- Git
- Python 3.13 (via deadsnakes PPA)
- uv (Python dependency manager)
- MongoDB 8.0
- Yarn
- Node.js
- Mongo-Express
- Clone the TNLCM backend repository from GitHub.
- Copy the
.env.template
file and prompt you to fill in necessary configuration values such as:- TNLCM admin user and password
- TNLCM host IP
- Jenkins credentials and token
- Sites token
- Update the
.env
file automatically with the provided values. - Initialize the MongoDB database with the required structure.
- Build and configure Mongo-Express as a systemd service for MongoDB web UI access.
- Install backend Python dependencies using
uv
. - Start the TNLCM backend API server using Gunicorn.
⚠️ Important:
- This script must be executed on Ubuntu 22.04 or 24.04.
- It requires root privileges.
- Make sure the server has internet access to download packages and repositories.
Once completed, the backend API (including a Swagger UI) will be available at http://<tnlcm-backend-ip>:5000
.