- Node.js/Express backend with SQLite database - Interactive map with real-time location tracking - MapBox API integration for fast geocoding - Admin panel for content moderation - 24-hour auto-expiring reports - Deployment scripts for Debian 12 ARM64 - Caddy reverse proxy with automatic HTTPS
41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# ICE Watch Deployment Script for Debian 12 ARM64
|
|
# Run this script on your server: drone@91.99.139.235
|
|
|
|
set -e
|
|
|
|
echo "🚀 Starting ICE Watch deployment..."
|
|
|
|
# Update system
|
|
echo "📦 Updating system packages..."
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
# Install Node.js (ARM64 compatible)
|
|
echo "📦 Installing Node.js..."
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
sudo apt install -y nodejs build-essential
|
|
|
|
# Install Caddy for reverse proxy
|
|
echo "📦 Installing Caddy..."
|
|
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
|
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
|
|
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
|
|
sudo apt update
|
|
sudo apt install caddy
|
|
|
|
# Create app directory
|
|
echo "📁 Setting up app directory..."
|
|
sudo mkdir -p /opt/icewatch
|
|
sudo chown $USER:$USER /opt/icewatch
|
|
|
|
# Navigate to app directory
|
|
cd /opt/icewatch
|
|
|
|
echo "✅ Server setup complete!"
|
|
echo "Next steps:"
|
|
echo "1. Upload your app files to /opt/icewatch"
|
|
echo "2. Run: npm install"
|
|
echo "3. Configure your .env file"
|
|
echo "4. Set up systemd service"
|
|
echo "5. Configure Caddy"
|