42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# Deploy IPMI Controller to production
|
|
|
|
set -e
|
|
|
|
PROD_HOST="192.168.5.210"
|
|
PROD_USER="devmatrix"
|
|
PROD_DIR="/opt/ipmi-controller"
|
|
SERVICE_NAME="ipmi-controller"
|
|
|
|
echo "=== Deploying IPMI Controller to Production ==="
|
|
echo "Target: $PROD_HOST"
|
|
|
|
# Create remote directory
|
|
echo "Creating remote directory..."
|
|
ssh $PROD_USER@$PROD_HOST "sudo mkdir -p $PROD_DIR && sudo chown $PROD_USER:$PROD_USER $PROD_DIR"
|
|
|
|
# Copy files
|
|
echo "Copying files..."
|
|
rsync -avz --exclude='.git' --exclude='__pycache__' --exclude='data/*.json' \
|
|
./ $PROD_USER@$PROD_HOST:$PROD_DIR/
|
|
|
|
# Install systemd service
|
|
echo "Installing systemd service..."
|
|
ssh $PROD_USER@$PROD_HOST "sudo cp $PROD_DIR/ipmi-controller.service /etc/systemd/system/"
|
|
ssh $PROD_USER@$PROD_HOST "sudo systemctl daemon-reload"
|
|
ssh $PROD_USER@$PROD_HOST "sudo systemctl enable $SERVICE_NAME"
|
|
|
|
# Restart service
|
|
echo "Restarting service..."
|
|
ssh $PROD_USER@$PROD_HOST "sudo systemctl restart $SERVICE_NAME"
|
|
|
|
# Check status
|
|
echo "Checking service status..."
|
|
sleep 2
|
|
ssh $PROD_USER@$PROD_HOST "sudo systemctl status $SERVICE_NAME --no-pager"
|
|
|
|
echo ""
|
|
echo "=== Deployment Complete ==="
|
|
echo "IPMI Controller is now running at: http://$PROD_HOST:8000"
|
|
echo ""
|
|
echo "To check logs: ssh $PROD_USER@$PROD_HOST 'sudo journalctl -u $SERVICE_NAME -f'" |