#!/bin/bash set -e cd "$(pwd)" echo "📦 Packaging Browser Tab Manager..." echo "📂 Working from: $(pwd)" if [ ! -f "Dockerfile" ] || [ ! -f "pubspec.yaml" ]; then echo "❌ Error: Not in project root directory!" echo " Expected files: Dockerfile, pubspec.yaml" echo " Current directory: $(pwd)" exit 1 fi rm -rf ./dist mkdir -p ./dist/browser-tab-manager echo "📋 Copying files..." cp ./Dockerfile ./dist/browser-tab-manager/ cp ./nginx.conf ./dist/browser-tab-manager/ cp ./pubspec.yaml ./dist/browser-tab-manager/ cp ./pubspec.lock ./dist/browser-tab-manager/ 2>/dev/null || true cp -r ./lib ./dist/browser-tab-manager/ mkdir -p ./dist/browser-tab-manager/web cp ./web/manifest.json ./dist/browser-tab-manager/web/ 2>/dev/null || true cat > dist/browser-tab-manager/deploy.sh << 'DEPLOY_EOF' #!/bin/bash set -e echo "🚀 Deploying Browser Tab Manager on Server..." if [ ! -f "Dockerfile" ]; then echo "❌ Error: Dockerfile not found. Are you in the right directory?" exit 1 fi mkdir -p web if [ ! -f "web/manifest.json" ]; then cat > web/manifest.json << 'EOF' { "name": "Browser Tab Manager", "short_name": "TabManager", "start_url": ".", "display": "standalone", "background_color": "#0175C2", "theme_color": "#0175C2", "description": "Manage browser tabs in a grid view", "orientation": "portrait-primary", "prefer_related_applications": false } EOF fi echo "✅ Project structure ready" echo "🔨 Building Podman container..." podman build -t browser-tab-manager . podman stop browser-tab-manager 2>/dev/null || true podman rm browser-tab-manager 2>/dev/null || true echo "🚢 Starting container..." podman run -d \ --name browser-tab-manager \ -p 8081:80 \ --restart unless-stopped \ browser-tab-manager echo "✅ Container started successfully!" echo "" echo "🌐 Your Browser Tab Manager is now running at:" SERVER_IP=$(hostname -I | awk '{print $1}' 2>/dev/null || echo "your-server-ip") echo " http://${SERVER_IP}:8081" echo "" echo "📋 Useful commands:" echo " View logs: podman logs -f browser-tab-manager" echo " Stop: podman stop browser-tab-manager" echo " Start: podman start browser-tab-manager" echo " Restart: podman restart browser-tab-manager" echo " Remove: podman rm -f browser-tab-manager" DEPLOY_EOF chmod +x dist/browser-tab-manager/deploy.sh echo "🗜️ Creating tarball..." cd dist tar -czf browser-tab-manager.tar.gz browser-tab-manager/ cd .. echo "✅ Package created: dist/browser-tab-manager.tar.gz" echo "" echo "📤 To deploy on server:" echo " 1. scp dist/browser-tab-manager.tar.gz root@188.245.68.196:/root/" echo " 2. ssh root@188.245.68.196" echo " 3. cd /root && tar -xzf browser-tab-manager.tar.gz" echo " 4. cd browser-tab-manager && ./deploy.sh" echo "" echo "🌐 available at: https://tab.caesargaming.org" # This script packages the app for server deployment. # Copies all necessary files to a dist folder. # Creates a deploy.sh script that will run on the server. # Compresses everything into a tar.gz file for easy transfer.