#!/bin/bash # Exit on error set -e echo "Starting Digital Twin Monitoring installation..." # Check if Docker is installed if ! command -v docker &> /dev/null; then echo "Docker is not installed. Installing Docker..." sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install -y docker-ce sudo systemctl enable docker sudo systemctl start docker sudo usermod -aG docker $USER echo "Docker installed successfully. You may need to log out and log back in for group changes to take effect." else echo "Docker is already installed." fi # Build the Docker image echo "Building Docker image..." sudo docker build -t digital-twin-monitoring -f Docker/Dockerfile . # Check if container is already running and stop it if sudo docker ps -a | grep -q digital-twin-monitoring; then echo "Stopping existing container..." sudo docker stop digital-twin-monitoring || true sudo docker rm digital-twin-monitoring || true fi # Run the Docker container echo "Starting Docker container..." sudo docker run -d \ --name digital-twin-monitoring \ --restart unless-stopped \ -p 5003:5003 \ --env-file .env \ digital-twin-monitoring echo "Installation completed successfully!" echo "Digital Twin Monitoring is now running at http://localhost:5003"