- Updated Cargo.toml to remove unnecessary package backtrace optimizations. - Changed default bind host and port in config.rs for broader accessibility. - Renamed state_manager to _state_manager in server.rs for clarity. - Updated user field to _user in PodmanClient and DockerRuntime for consistency. - Modified build-debian-iso.sh to enhance welcome message and backend startup instructions. - Improved archipelago-menu.sh to display backend status and updated Web UI URL. - Enhanced install-to-disk.sh for better package management and user creation during installation.
94 lines
3.3 KiB
Bash
Executable File
94 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Setup development environment on Archipelago target machine
|
|
#
|
|
# Run this ON the HP ProDesk via SSH:
|
|
# curl -sSL https://raw.githubusercontent.com/.../setup-target-dev.sh | bash
|
|
# Or copy and run locally:
|
|
# scp scripts/setup-target-dev.sh archipelago@192.168.1.228:~/
|
|
# ssh archipelago@192.168.1.228 'bash ~/setup-target-dev.sh'
|
|
#
|
|
|
|
set -e
|
|
|
|
echo "╔════════════════════════════════════════════════════════════════╗"
|
|
echo "║ Setting up Archipelago Development Environment ║"
|
|
echo "╚════════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# Update packages
|
|
echo "📦 Updating packages..."
|
|
sudo apt update
|
|
|
|
# Install Node.js (for Vue.js frontend)
|
|
echo ""
|
|
echo "📦 Installing Node.js..."
|
|
if ! command -v node &> /dev/null; then
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
sudo apt install -y nodejs
|
|
else
|
|
echo " Node.js already installed: $(node --version)"
|
|
fi
|
|
|
|
# Install Rust (for backend)
|
|
echo ""
|
|
echo "📦 Installing Rust..."
|
|
if ! command -v cargo &> /dev/null; then
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
|
source ~/.cargo/env
|
|
else
|
|
echo " Rust already installed: $(rustc --version)"
|
|
fi
|
|
|
|
# Install build tools
|
|
echo ""
|
|
echo "📦 Installing build tools..."
|
|
sudo apt install -y \
|
|
build-essential \
|
|
pkg-config \
|
|
libssl-dev \
|
|
git
|
|
|
|
# Create development directory
|
|
echo ""
|
|
echo "📁 Creating development directory..."
|
|
mkdir -p ~/archy
|
|
|
|
# Fix XDG_RUNTIME_DIR for rootless Podman (add to bashrc)
|
|
if ! grep -q "XDG_RUNTIME_DIR" ~/.bashrc; then
|
|
echo ""
|
|
echo "🔧 Fixing Podman rootless setup..."
|
|
cat >> ~/.bashrc << 'EOF'
|
|
|
|
# Fix for rootless Podman
|
|
if [ -z "$XDG_RUNTIME_DIR" ]; then
|
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
|
|
sudo mkdir -p "$XDG_RUNTIME_DIR"
|
|
sudo chown $(whoami):$(whoami) "$XDG_RUNTIME_DIR"
|
|
sudo chmod 700 "$XDG_RUNTIME_DIR"
|
|
fi
|
|
fi
|
|
EOF
|
|
fi
|
|
|
|
# Enable user lingering for Podman
|
|
sudo loginctl enable-linger archipelago 2>/dev/null || true
|
|
|
|
echo ""
|
|
echo "╔════════════════════════════════════════════════════════════════╗"
|
|
echo "║ ✅ Development environment ready! ║"
|
|
echo "╚════════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
echo "Installed:"
|
|
echo " • Node.js: $(node --version 2>/dev/null || echo 'not found')"
|
|
echo " • npm: $(npm --version 2>/dev/null || echo 'not found')"
|
|
echo " • Rust: $(rustc --version 2>/dev/null || echo 'not found')"
|
|
echo " • Cargo: $(cargo --version 2>/dev/null || echo 'not found')"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " 1. Log out and back in (or run: source ~/.bashrc)"
|
|
echo " 2. From your Mac, run: ./scripts/deploy-to-target.sh"
|
|
echo " 3. To start Vue.js dev server: cd ~/archy/neode-ui && npm run dev -- --host 0.0.0.0"
|
|
echo ""
|