Files
indee-demo/deploy-to-archipelago.sh
Dorian 8d56fe392d refactor: update environment configuration and documentation
- Modified `.env.example` to reflect new API URL structure and added CDN configuration for external storage.
- Updated `.gitignore` to include deployment secrets and certificate files, ensuring sensitive information is not committed.
- Revised `BACKEND_INTEGRATION.md` to clarify authentication methods, replacing Cognito references with Nostr NIP-98.
- Deleted outdated documentation files (`CONTENT-INTEGRATION-COMPLETE.md`, `CURSOR-MCP-SETUP.md`, `FINAL-STATUS.md`, `FIXES-APPLIED.md`, `INDEEHHUB-INTEGRATION.md`, `PROJECT-COMPLETE.md`, `PROJECT-SUMMARY.md`) to streamline project documentation.

These changes enhance the clarity of the environment setup and improve the overall documentation structure for better developer onboarding.
2026-02-17 05:12:59 +00:00

93 lines
4.0 KiB
Bash
Executable File

#!/bin/bash
set -e
# Configuration
REMOTE_SERVER="archipelago@192.168.1.228"
REMOTE_DIR="/tmp/indeedhub-build"
CONTAINER_NAME="indeedhub"
IMAGE_NAME="localhost/indeedhub:latest"
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ Deploying Indeedhub to Archipelago Dev Server ║"
echo "╚════════════════════════════════════════════════════════════════╝"
echo ""
# Step 1: Sync source code to remote server
echo "📦 Step 1: Syncing source code to remote server..."
echo " (You may be prompted for SSH password)"
rsync -avz --exclude 'node_modules' --exclude 'dist' --exclude '.git' --exclude '.cursor' \
-e "ssh -o PreferredAuthentications=keyboard-interactive,password" \
. "$REMOTE_SERVER:$REMOTE_DIR/"
echo " ✅ Source code synced"
# Step 2: Build and deploy on remote server
echo ""
echo "📦 Step 2: Building and deploying on remote server..."
ssh -o PreferredAuthentications=keyboard-interactive,password -t "$REMOTE_SERVER" bash <<'REMOTE_SCRIPT'
set -e
cd /tmp/indeedhub-build
CONTAINER_NAME="indeedhub"
IMAGE_NAME="localhost/indeedhub:latest"
echo ""
echo " Building Docker image with Podman..."
sudo podman build --platform linux/amd64 -t "$IMAGE_NAME" .
echo ""
echo " Stopping existing container (if any)..."
sudo podman stop "$CONTAINER_NAME" 2>/dev/null || true
sudo podman rm "$CONTAINER_NAME" 2>/dev/null || true
echo ""
echo " Starting new container..."
sudo podman run -d \
--name "$CONTAINER_NAME" \
--restart unless-stopped \
-p 7777:7777 \
--label "com.archipelago.app=indeedhub" \
--label "com.archipelago.title=IndeedHub" \
--label "com.archipelago.version=0.1.0" \
--label "com.archipelago.category=media" \
--label "com.archipelago.description.short=Decentralized media streaming platform" \
--label "com.archipelago.description.long=IndeedHub is a decentralized media streaming platform built on Nostr. Stream Bitcoin-focused documentaries, educational content, and independent films. Streaming-style interface with glassmorphism design, supporting content creators through the decentralized web." \
--label "com.archipelago.license=MIT" \
--label "com.archipelago.icon=/assets/img/app-icons/indeedhub.png" \
--label "com.archipelago.port=7777" \
--label "com.archipelago.repo=https://github.com/indeedhub/indeedhub" \
--health-cmd "curl -f http://localhost:7777/health || exit 1" \
--health-interval 30s \
--health-timeout 10s \
--health-retries 3 \
--health-start-period 40s \
"$IMAGE_NAME"
echo ""
echo " ✅ Container started!"
echo ""
echo " Container status:"
sudo podman ps --filter "name=$CONTAINER_NAME" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
echo " Cleaning up build directory..."
cd /tmp
rm -rf /tmp/indeedhub-build
REMOTE_SCRIPT
echo ""
echo "╔════════════════════════════════════════════════════════════════╗"
echo "║ ✅ INDEEDHUB DEPLOYED! ║"
echo "╚════════════════════════════════════════════════════════════════╝"
echo ""
echo "🎬 Access Indeedhub at:"
echo " • HTTP: http://192.168.1.228:7777"
echo " • HTTPS: https://192.168.1.228:7777 (if reverse proxy configured)"
echo ""
echo "📝 Useful commands:"
echo " • Check logs: ssh $REMOTE_SERVER 'sudo podman logs -f $CONTAINER_NAME'"
echo " • Check status: ssh $REMOTE_SERVER 'sudo podman ps | grep $CONTAINER_NAME'"
echo " • Restart: ssh $REMOTE_SERVER 'sudo podman restart $CONTAINER_NAME'"
echo " • Stop: ssh $REMOTE_SERVER 'sudo podman stop $CONTAINER_NAME'"
echo ""