mirror of
https://github.com/kuhyx/WUT_Computer_Science.git
synced 2026-07-04 16:23:11 +02:00
75 lines
2.4 KiB
Bash
75 lines
2.4 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
# Set working directory to script location
|
||
|
|
cd "$(dirname "$0")"
|
||
|
|
|
||
|
|
# Check if Docker daemon is running
|
||
|
|
if ! docker info &>/dev/null; then
|
||
|
|
echo "ERROR: Docker daemon is not running."
|
||
|
|
echo "Please start Docker with: 'sudo systemctl start docker'"
|
||
|
|
echo "If you want Docker to start automatically at boot: 'sudo systemctl enable docker'"
|
||
|
|
echo "To run Docker without sudo, add your user to the docker group: 'sudo usermod -aG docker $USER'"
|
||
|
|
echo "Then log out and log back in for the changes to take effect."
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "Starting Docker containers..."
|
||
|
|
docker-compose up -d
|
||
|
|
|
||
|
|
# Wait for services to start
|
||
|
|
echo "Waiting for Kafka and Flink to start..."
|
||
|
|
sleep 10
|
||
|
|
|
||
|
|
echo "Building Maven projects..."
|
||
|
|
cd temperature-generator && mvn -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN clean package && cd ..
|
||
|
|
cd temperature-anomaly-detector && mvn -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN clean package && cd ..
|
||
|
|
cd temperature-alert-visualizer && mvn -Dorg.slf4j.simpleLogger.defaultLogLevel=WARN clean package && cd ..
|
||
|
|
|
||
|
|
echo "Creating Kafka topics..."
|
||
|
|
docker exec psd_project-kafka-1 kafka-topics --create --if-not-exists --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic Temperatura
|
||
|
|
docker exec psd_project-kafka-1 kafka-topics --create --if-not-exists --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic Alarm
|
||
|
|
|
||
|
|
echo "Starting all applications..."
|
||
|
|
|
||
|
|
# Start temperature anomaly detector - submit to Flink
|
||
|
|
echo "Starting Temperature Anomaly Detector..."
|
||
|
|
cd temperature-anomaly-detector
|
||
|
|
java -jar target/temperature-anomaly-detector-1.0-SNAPSHOT.jar &
|
||
|
|
ANOMALY_PID=$!
|
||
|
|
cd ..
|
||
|
|
|
||
|
|
# Start Alert Visualizer
|
||
|
|
echo "Starting Temperature Alert Visualizer..."
|
||
|
|
cd temperature-alert-visualizer
|
||
|
|
java -jar target/temperature-alert-visualizer-1.0-SNAPSHOT.jar &
|
||
|
|
VISUALIZER_PID=$!
|
||
|
|
cd ..
|
||
|
|
|
||
|
|
# Start Temperature Generator last
|
||
|
|
echo "Starting Temperature Generator..."
|
||
|
|
cd temperature-generator
|
||
|
|
java -jar target/temperature-generator-1.0-SNAPSHOT.jar &
|
||
|
|
GENERATOR_PID=$!
|
||
|
|
cd ..
|
||
|
|
|
||
|
|
echo "All applications are running!"
|
||
|
|
echo "Press Ctrl+C to stop all applications"
|
||
|
|
|
||
|
|
# Function to handle shutdown
|
||
|
|
function cleanup {
|
||
|
|
echo "Shutting down applications..."
|
||
|
|
kill $GENERATOR_PID $VISUALIZER_PID $ANOMALY_PID
|
||
|
|
echo "Stopping Docker containers..."
|
||
|
|
docker-compose down
|
||
|
|
echo "All done!"
|
||
|
|
exit 0
|
||
|
|
}
|
||
|
|
|
||
|
|
# Catch shutdown signal
|
||
|
|
trap cleanup SIGINT SIGTERM
|
||
|
|
|
||
|
|
# Keep script running
|
||
|
|
while true; do
|
||
|
|
sleep 1
|
||
|
|
done
|