86 lines
No EOL
2.8 KiB
Bash
86 lines
No EOL
2.8 KiB
Bash
#!/bin/bash
|
|
# Setup script for AppAIBuildTest deployment
|
|
# Run this on the webserver (192.168.1.43)
|
|
|
|
set -e
|
|
|
|
echo "==================================="
|
|
echo "Setting up AppAIBuildTest on server"
|
|
echo "==================================="
|
|
|
|
# Create TEST directories
|
|
echo "Creating TEST environment directories..."
|
|
sudo mkdir -p /opt/appaibuiltest-test/app
|
|
sudo chown -R dotnet-service:dotnet-service /opt/appaibuiltest-test
|
|
|
|
# Install TEST systemd service
|
|
echo "Installing TEST systemd service..."
|
|
sudo cp systemd/appaibuiltest-test.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable appaibuiltest-test
|
|
echo "✓ TEST service installed: appaibuiltest-test"
|
|
|
|
# Create PROD directories
|
|
echo "Creating PROD environment directories..."
|
|
sudo mkdir -p /opt/appaibuiltest/app
|
|
sudo chown -R dotnet-service:dotnet-service /opt/appaibuiltest
|
|
|
|
# Install PROD systemd service
|
|
echo "Installing PROD systemd service..."
|
|
sudo cp systemd/appaibuiltest.service /etc/systemd/system/
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable appaibuiltest
|
|
echo "✓ PROD service installed: appaibuiltest"
|
|
|
|
# Configure Caddy via API
|
|
echo ""
|
|
echo "Configuring Caddy reverse proxy via API..."
|
|
|
|
# Function to add route via Caddy API
|
|
add_caddy_route() {
|
|
local domain=$1
|
|
local port=$2
|
|
local env_name=$3
|
|
|
|
# Check if route already exists
|
|
if curl -s http://localhost:2019/config/apps/http/servers/srv0/routes | grep -q "$domain"; then
|
|
echo "⚠ $env_name route ($domain) already exists - skipping"
|
|
else
|
|
echo "Adding $env_name route: $domain -> 127.0.0.1:$port"
|
|
curl -X POST "http://localhost:2019/config/apps/http/servers/srv0/routes/0" \
|
|
-H "Content-Type: application/json" \
|
|
-d "{
|
|
\"@id\": \"${domain//./_}\",
|
|
\"match\": [{\"host\": [\"$domain\"]}],
|
|
\"handle\": [{
|
|
\"handler\": \"reverse_proxy\",
|
|
\"upstreams\": [{\"dial\": \"127.0.0.1:$port\"}]
|
|
}]
|
|
}" >/dev/null 2>&1
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✓ $env_name route added successfully"
|
|
else
|
|
echo "✗ Failed to add $env_name route - add manually to Caddyfile"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Add TEST environment route
|
|
add_caddy_route "test-appaibuiltest.jarjarbinks" "5100" "TEST"
|
|
|
|
# Add PROD environment route
|
|
add_caddy_route "appaibuiltest.jarjarbinks" "5200" "PROD"
|
|
|
|
echo ""
|
|
|
|
echo "==================================="
|
|
echo "Setup complete!"
|
|
echo "==================================="
|
|
echo "TEST service: appaibuiltest-test"
|
|
echo "TEST folder: /opt/appaibuiltest-test/app"
|
|
echo "TEST URL: http://test-appaibuiltest.jarjarbinks"
|
|
echo "PROD service: appaibuiltest"
|
|
echo "PROD folder: /opt/appaibuiltest/app"
|
|
echo "PROD URL: http://appaibuiltest.jarjarbinks"
|
|
echo "===================================" |