63 lines
2.0 KiB
Bash
Executable File
63 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Install Provisioning Platform systemd services
|
|
# Run as root: sudo ./install-services.sh
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
SYSTEMD_DIR="/etc/systemd/system"
|
|
|
|
echo "Installing Provisioning Platform systemd services..."
|
|
|
|
# Check if running as root
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Error: This script must be run as root (use sudo)"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if Docker is installed
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "Error: Docker is not installed. Please install Docker first."
|
|
exit 1
|
|
fi
|
|
|
|
# Check if docker-compose is installed
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
echo "Error: docker-compose is not installed. Please install docker-compose first."
|
|
exit 1
|
|
fi
|
|
|
|
# Copy service files
|
|
echo "Copying service files to $SYSTEMD_DIR..."
|
|
cp -v "$SCRIPT_DIR/provisioning-platform.service" "$SYSTEMD_DIR/"
|
|
cp -v "$SCRIPT_DIR/provisioning-orchestrator.service" "$SYSTEMD_DIR/"
|
|
cp -v "$SCRIPT_DIR/provisioning-control-center.service" "$SYSTEMD_DIR/"
|
|
|
|
# Set correct permissions
|
|
echo "Setting permissions..."
|
|
chmod 644 "$SYSTEMD_DIR/provisioning-platform.service"
|
|
chmod 644 "$SYSTEMD_DIR/provisioning-orchestrator.service"
|
|
chmod 644 "$SYSTEMD_DIR/provisioning-control-center.service"
|
|
|
|
# Reload systemd daemon
|
|
echo "Reloading systemd daemon..."
|
|
systemctl daemon-reload
|
|
|
|
# Display status
|
|
echo ""
|
|
echo "Services installed successfully!"
|
|
echo ""
|
|
echo "Available commands:"
|
|
echo " sudo systemctl enable provisioning-platform # Enable auto-start on boot"
|
|
echo " sudo systemctl start provisioning-platform # Start all services"
|
|
echo " sudo systemctl status provisioning-platform # Check status"
|
|
echo " sudo systemctl stop provisioning-platform # Stop all services"
|
|
echo ""
|
|
echo "Individual services:"
|
|
echo " sudo systemctl start provisioning-orchestrator"
|
|
echo " sudo systemctl start provisioning-control-center"
|
|
echo ""
|
|
echo "To enable and start now:"
|
|
echo " sudo systemctl enable --now provisioning-platform"
|