2.2. AML Dashboard¶
The AML Dashboard is composed of two services: a backend and a frontend, each with its own Docker container. These services are managed using docker-compose for ease of deployment.
2.2.1. Prerequisites¶
Ensure you have Docker and Docker Compose installed on your machine.
2.2.2. Building and Running the Containers¶
To build and run the Docker containers, execute the following steps:
Create a working directory and navigate into it:
mkdir AML-Dashboard
cd AML-Dashboard
Download the required Dockerfiles and docker-compose.yml:
wget https://raw.githubusercontent.com/eProsima-Private/AML-Dashboard/refs/heads/feature/add_dockerfile/Dockerfile_Frontend
wget https://raw.githubusercontent.com/eProsima-Private/AML-Dashboard/refs/heads/feature/add_dockerfile/Dockerfile_Backend
wget https://raw.githubusercontent.com/eProsima-Private/AML-Dashboard/refs/heads/feature/add_dockerfile/docker-compose.yml
Start the services using docker-compose:
docker compose up -d
After the containers are built move your
aml_enginefolder from your machine to the docker backend.
docker cp <path_to_aml_engine/aml_engine> aml-dashboard-amldashboard-backend-1:/AML-Dashboard/backend/
The AML Dashboard will be available at http://localhost:5173.
To stop the services, execute the following command:
docker compose down
2.2.3. AML-Dashboard Deployment¶
The Docker Compose launches the following containers:
AML Dashboard Backend is responsible for managing the AML Dashboard’s server, including the AML-IP nodes, processing the data and results. It is built on
ubuntu:jammyand it installs essential system dependencies, includinggit,cmake,g++,libasio-dev,libssl-dev,libyaml-cpp-dev,swig, andMiniconda. The Miniconda environment,aml_env, is created withPython 3.11and includes essential Python libraries such asFlask,NumPy,scikit-learn,pandas,tensorflow[and-cuda], and other scientific computing and machine learning dependencies. The backend also clones and builds AML-IP, which is used for interaction processing, by importing the necessary repositories and compiling the software withcolcon. The backend source code is cloned from the AML-Dashboard repository, and once the container is up, it runsserver.pywithin the activatedaml_envenvironment and sources the necessary AML-IP dependencies. The backend container runs in host network mode to ensure direct communication with the frontend.AML Dashboard Frontend serves the web-based interface of the AML Dashboard and interacts with the backend to retrieve and display data. It is also based on
ubuntu:jammyand and provides the web interface for the AML Dashboard. Is installs essential system dependencies, includinggit,nodejs, andnpm. The frontend uses Node.js with dependencies managed throughnpm. Once built, it runs the frontend interface usingnpm run dev. It also runs in host network mode to facilitate seamless communication between services.