Browser-Tab-Manager/package.sh

111 lines
3.1 KiB
Bash
Executable file

#!/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.