fix storage
This commit is contained in:
119
rebuild-and-restart.sh
Executable file
119
rebuild-and-restart.sh
Executable file
@@ -0,0 +1,119 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AtlasOS - Calypso Rebuild and Restart Script
|
||||
# This script rebuilds both backend and frontend, then restarts the services
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
# Colors for output
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Configuration
|
||||
PROJECT_ROOT="/src/calypso"
|
||||
BACKEND_DIR="${PROJECT_ROOT}/backend"
|
||||
FRONTEND_DIR="${PROJECT_ROOT}/frontend"
|
||||
INSTALL_DIR="/opt/calypso"
|
||||
SERVICE_NAME="calypso-api"
|
||||
|
||||
echo -e "${GREEN}========================================${NC}"
|
||||
echo -e "${GREEN}AtlasOS - Calypso Rebuild & Restart${NC}"
|
||||
echo -e "${GREEN}========================================${NC}"
|
||||
echo ""
|
||||
|
||||
# Check if running as root
|
||||
if [ "$EUID" -ne 0 ]; then
|
||||
echo -e "${YELLOW}Warning: This script requires sudo privileges for some operations${NC}"
|
||||
echo -e "${YELLOW}Some commands will be run with sudo${NC}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Step 1: Rebuild Backend
|
||||
echo -e "${GREEN}[1/4] Rebuilding Backend...${NC}"
|
||||
cd "${BACKEND_DIR}"
|
||||
echo "Building Go binary..."
|
||||
if go build -o "${INSTALL_DIR}/bin/calypso-api" ./cmd/calypso-api; then
|
||||
echo -e "${GREEN}✓ Backend build successful${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Backend build failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Set permissions for backend binary
|
||||
echo "Setting permissions..."
|
||||
sudo chmod +x "${INSTALL_DIR}/bin/calypso-api"
|
||||
sudo chown calypso:calypso "${INSTALL_DIR}/bin/calypso-api"
|
||||
echo -e "${GREEN}✓ Backend binary ready${NC}"
|
||||
echo ""
|
||||
|
||||
# Step 2: Rebuild Frontend
|
||||
echo -e "${GREEN}[2/4] Rebuilding Frontend...${NC}"
|
||||
cd "${FRONTEND_DIR}"
|
||||
echo "Installing dependencies (if needed)..."
|
||||
npm install --silent 2>&1 | grep -E "(added|removed|changed|up to date)" || true
|
||||
|
||||
echo "Building frontend..."
|
||||
if npm run build; then
|
||||
echo -e "${GREEN}✓ Frontend build successful${NC}"
|
||||
else
|
||||
echo -e "${RED}✗ Frontend build failed${NC}"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# Step 3: Deploy Frontend
|
||||
echo -e "${GREEN}[3/4] Deploying Frontend...${NC}"
|
||||
echo "Copying frontend files to ${INSTALL_DIR}/web/..."
|
||||
sudo rm -rf "${INSTALL_DIR}/web/"*
|
||||
sudo cp -r "${FRONTEND_DIR}/dist/"* "${INSTALL_DIR}/web/"
|
||||
sudo chown -R www-data:www-data "${INSTALL_DIR}/web"
|
||||
echo -e "${GREEN}✓ Frontend deployed${NC}"
|
||||
echo ""
|
||||
|
||||
# Step 4: Restart Services
|
||||
echo -e "${GREEN}[4/4] Restarting Services...${NC}"
|
||||
|
||||
# Restart Calypso API service
|
||||
echo "Restarting ${SERVICE_NAME} service..."
|
||||
if sudo systemctl restart "${SERVICE_NAME}.service"; then
|
||||
echo -e "${GREEN}✓ ${SERVICE_NAME} service restarted${NC}"
|
||||
|
||||
# Wait a moment for service to start
|
||||
sleep 2
|
||||
|
||||
# Check service status
|
||||
if sudo systemctl is-active --quiet "${SERVICE_NAME}.service"; then
|
||||
echo -e "${GREEN}✓ ${SERVICE_NAME} service is running${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ ${SERVICE_NAME} service may not be running properly${NC}"
|
||||
echo "Check status with: sudo systemctl status ${SERVICE_NAME}.service"
|
||||
fi
|
||||
else
|
||||
echo -e "${RED}✗ Failed to restart ${SERVICE_NAME} service${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Reload Nginx (to ensure frontend is served correctly)
|
||||
echo "Reloading Nginx..."
|
||||
if sudo systemctl reload nginx 2>/dev/null || sudo systemctl reload nginx.service 2>/dev/null; then
|
||||
echo -e "${GREEN}✓ Nginx reloaded${NC}"
|
||||
else
|
||||
echo -e "${YELLOW}⚠ Nginx reload failed (may not be installed)${NC}"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
# Summary
|
||||
echo -e "${GREEN}========================================${NC}"
|
||||
echo -e "${GREEN}Rebuild and Restart Complete!${NC}"
|
||||
echo -e "${GREEN}========================================${NC}"
|
||||
echo ""
|
||||
echo "Backend binary: ${INSTALL_DIR}/bin/calypso-api"
|
||||
echo "Frontend files: ${INSTALL_DIR}/web/"
|
||||
echo ""
|
||||
echo "Service status:"
|
||||
sudo systemctl status "${SERVICE_NAME}.service" --no-pager -l | head -10
|
||||
echo ""
|
||||
echo -e "${GREEN}All done!${NC}"
|
||||
Reference in New Issue
Block a user