From 562782961767d2b0cdbb0954312f0bce725320b1 Mon Sep 17 00:00:00 2001 From: olaf Date: Fri, 10 Oct 2025 14:14:47 +0000 Subject: [PATCH] Migration to physical server --- server-setup-script.sh | 58 ++++++++++++++++++++++++++++++++++++++++ setup-dev-environment.sh | 39 +++++++++++++++++++++++++++ start-dev.sh | 47 ++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100755 server-setup-script.sh create mode 100755 setup-dev-environment.sh create mode 100755 start-dev.sh diff --git a/server-setup-script.sh b/server-setup-script.sh new file mode 100755 index 0000000..48867e1 --- /dev/null +++ b/server-setup-script.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# Ubuntu Server Setup Script for Infoscreen Development + +set -e + +echo "🚀 Setting up Ubuntu Server for Infoscreen Development..." + +# Update system +sudo apt update && sudo apt upgrade -y + +# Install essential tools +sudo apt install -y git curl wget vim nano htop + +# Install Docker (official installation method) +echo "📦 Installing Docker..." + +# Remove old Docker packages +sudo apt remove -y docker docker-engine docker.io containerd runc 2>/dev/null || true + +# Install Docker dependencies +sudo apt install -y ca-certificates curl gnupg lsb-release + +# Add Docker GPG key +sudo mkdir -p /etc/apt/keyrings +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + +# Add Docker repository +echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + +# Install Docker +sudo apt update +sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin + +# Start and enable Docker +sudo systemctl enable docker +sudo systemctl start docker + +# Add user to docker group +sudo usermod -aG docker $USER + +# Install Node.js (for dashboard development) +echo "📦 Installing Node.js..." +curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - +sudo apt install -y nodejs + +# Verify installations +echo "✅ Verifying installations..." +echo "Docker version: $(docker --version)" +echo "Docker Compose version: $(docker compose version)" +echo "Node.js version: $(node --version)" +echo "npm version: $(npm --version)" + +echo "" +echo "🎉 Server setup complete!" +echo "⚠️ Please log out and log back in for Docker group changes to take effect." +echo "💡 You can now clone your repository and start development." diff --git a/setup-dev-environment.sh b/setup-dev-environment.sh new file mode 100755 index 0000000..2635641 --- /dev/null +++ b/setup-dev-environment.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# Environment Setup Script for Remote Development + +set -e + +echo "🔧 Setting up development environment..." + +# Create .env file from example +if [ ! -f .env ]; then + cp .env.example .env + echo "📝 Created .env file from template" + echo "⚠️ Please edit .env with your specific configuration" +fi + +# Create necessary directories +mkdir -p certs/ +mkdir -p mosquitto/{config,data,log} +mkdir -p server/media/converted +mkdir -p server/received_screenshots +mkdir -p server/screenshots + +# Set permissions for mosquitto +sudo chown -R 1883:1883 mosquitto/data mosquitto/log 2>/dev/null || true +chmod 755 mosquitto/config mosquitto/data mosquitto/log + +# Generate development SSL certificates if they don't exist +if [ ! -f certs/dev.crt ] || [ ! -f certs/dev.key ]; then + echo "🔒 Generating development SSL certificates..." + openssl req -x509 -newkey rsa:4096 -keyout certs/dev.key -out certs/dev.crt -days 365 -nodes \ + -subj "/C=AT/ST=Vienna/L=Vienna/O=Development/CN=localhost" + echo "✅ SSL certificates generated" +fi + +echo "✅ Environment setup complete!" +echo "" +echo "📋 Next steps:" +echo "1. Edit .env file with your configuration" +echo "2. Run: docker compose up -d --build" +echo "3. Access dashboard at http://localhost:5173" diff --git a/start-dev.sh b/start-dev.sh new file mode 100755 index 0000000..2735f4e --- /dev/null +++ b/start-dev.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# Quick Development Start Script + +set -e + +echo "🚀 Starting Infoscreen Development Environment..." + +# Check if Docker is running +if ! docker info > /dev/null 2>&1; then + echo "❌ Docker is not running. Please start Docker first." + exit 1 +fi + +# Check if .env exists +if [ ! -f .env ]; then + echo "❌ .env file not found. Please run setup-dev-environment.sh first." + exit 1 +fi + +# Start development stack +echo "📦 Starting development containers..." +docker compose up -d --build + +# Wait for services to be ready +echo "⏳ Waiting for services to start..." +sleep 10 + +# Show status +echo "📊 Container Status:" +docker compose ps + +echo "" +echo "🌐 Services Available:" +echo " Dashboard (Vite): http://localhost:5173" +echo " API (Flask): http://localhost:8000" +echo " API Health Check: http://localhost:8000/health" +echo " Database (MariaDB): localhost:3306" +echo " MQTT Broker: localhost:1883" +echo " MQTT WebSocket: localhost:9001" +echo " Python Debugger: localhost:5678" +echo "" +echo "📝 Useful Commands:" +echo " View logs: docker compose logs -f" +echo " Stop services: docker compose down" +echo " Restart service: docker compose restart [service-name]" +echo "" +echo "🎉 Development environment is ready!"