archy/verify-install.sh
Dorian 0d073fa89e Add comprehensive installation and setup documentation
- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
2026-01-27 17:18:21 +00:00

164 lines
4.6 KiB
Bash
Executable File

#!/bin/bash
# Verify Archipelago Installation
# This script checks if all required dependencies are properly installed
set -e
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
ERRORS=0
echo "============================================"
echo "Archipelago Installation Verification"
echo "============================================"
echo ""
# Function to check command
check_command() {
local cmd=$1
local name=$2
local version_flag=${3:---version}
if command -v "$cmd" >/dev/null 2>&1; then
local version=$($cmd $version_flag 2>&1 | head -n 1)
echo -e "${GREEN}${NC} $name: $version"
return 0
else
echo -e "${RED}${NC} $name: NOT FOUND"
ERRORS=$((ERRORS + 1))
return 1
fi
}
# Check system tools
echo "System Tools:"
check_command "rustc" "Rust Compiler" "--version"
check_command "cargo" "Cargo" "--version"
check_command "node" "Node.js" "--version"
check_command "npm" "NPM" "--version"
check_command "podman" "Podman" "--version"
check_command "psql" "PostgreSQL" "--version"
echo ""
# Check optional tools
echo "Optional Tools:"
check_command "brew" "Homebrew" "--version" || echo -e "${YELLOW} (Homebrew is recommended for macOS)${NC}"
echo ""
# Check project dependencies
echo "Project Dependencies:"
# Check frontend dependencies
if [ -d "neode-ui/node_modules" ]; then
echo -e "${GREEN}${NC} Frontend dependencies installed"
else
echo -e "${RED}${NC} Frontend dependencies NOT installed"
echo -e "${YELLOW} Run: cd neode-ui && npm install${NC}"
ERRORS=$((ERRORS + 1))
fi
# Check custom app dependencies
for app in did-wallet endurain morphos-server router web5-dwn; do
if [ -d "apps/$app/node_modules" ]; then
echo -e "${GREEN}${NC} $app dependencies installed"
else
echo -e "${YELLOW}${NC} $app dependencies NOT installed"
echo -e "${YELLOW} Run: cd apps/$app && npm install${NC}"
fi
done
echo ""
# Check Rust build
echo "Rust Backend:"
if [ -d "core/target" ]; then
echo -e "${GREEN}${NC} Backend has been built"
else
echo -e "${YELLOW}${NC} Backend not built yet"
echo -e "${YELLOW} Run: cd core && cargo build${NC}"
fi
echo ""
# Check Podman machine
echo "Container Runtime:"
if podman machine list 2>/dev/null | grep -q "Running"; then
echo -e "${GREEN}${NC} Podman machine is running"
elif podman machine list 2>/dev/null | grep -q "Stopped"; then
echo -e "${YELLOW}${NC} Podman machine exists but not running"
echo -e "${YELLOW} Run: podman machine start${NC}"
else
echo -e "${YELLOW}${NC} Podman machine not initialized"
echo -e "${YELLOW} Run: podman machine init && podman machine start${NC}"
fi
echo ""
# Check PostgreSQL
echo "Database:"
if brew services list 2>/dev/null | grep postgresql | grep -q started; then
echo -e "${GREEN}${NC} PostgreSQL service is running"
elif psql --version >/dev/null 2>&1; then
echo -e "${YELLOW}${NC} PostgreSQL installed but service not running"
echo -e "${YELLOW} Run: brew services start postgresql@15${NC}"
else
echo -e "${YELLOW}${NC} PostgreSQL status unknown"
fi
# Check if database exists
if psql -lqt 2>/dev/null | cut -d \| -f 1 | grep -qw archipelago_dev; then
echo -e "${GREEN}${NC} Development database 'archipelago_dev' exists"
else
echo -e "${YELLOW}${NC} Development database 'archipelago_dev' not found"
echo -e "${YELLOW} Run: createdb archipelago_dev${NC}"
fi
echo ""
# Check environment files
echo "Configuration:"
if [ -f "core/.env" ]; then
echo -e "${GREEN}${NC} Backend .env file exists"
else
echo -e "${YELLOW}${NC} Backend .env file not found"
echo -e "${YELLOW} Copy: cp core/.env.example core/.env${NC}"
fi
if [ -f "neode-ui/.env" ]; then
echo -e "${GREEN}${NC} Frontend .env file exists"
else
echo -e "${YELLOW}${NC} Frontend .env file not found"
echo -e "${YELLOW} Copy: cp neode-ui/.env.example neode-ui/.env${NC}"
fi
echo ""
echo "============================================"
if [ $ERRORS -eq 0 ]; then
echo -e "${GREEN}✓ All required dependencies are installed!${NC}"
echo ""
echo "You can now start the project:"
echo " 1. Terminal 1: cd core && cargo run --bin archipelago"
echo " 2. Terminal 2: cd neode-ui && npm run dev"
echo " 3. Open http://localhost:8100"
else
echo -e "${RED}$ERRORS required dependencies are missing${NC}"
echo ""
echo "Please install missing dependencies:"
echo " Run: ./INSTALL.sh"
echo ""
echo "Or follow the manual installation guide:"
echo " See: SETUP_GUIDE.md"
fi
echo "============================================"
echo ""
exit $ERRORS