#!/bin/bash
# MCP Remote Server Deployment Script
# Set your Docker Hub username
DOCKER_USERNAME="lallen30"
# Set the image name
IMAGE_NAME="mcp-server"
# Set the tag
TAG="latest"
# Set the port to expose
PORT="5051"
# Set the internal port
INTERNAL_PORT="8000"
echo "Building MCP remote server Docker image..."
# Build for linux/amd64 (server architecture)
docker buildx build --platform linux/amd64 -t $DOCKER_USERNAME/$IMAGE_NAME:$TAG . --no-cache --load
echo "Testing image locally..."
# Run locally to test
docker run -d --name "mcp-server-test" -p $PORT:$INTERNAL_PORT --env-file .env $DOCKER_USERNAME/$IMAGE_NAME:$TAG
echo "Waiting 5 seconds for server to start..."
sleep 5
echo "Testing server response..."
curl -s http://localhost:$PORT || echo "Server not responding. Check logs with: docker logs mcp-server-test"
echo "Stopping test container..."
docker stop mcp-server-test
docker rm mcp-server-test
echo "Pushing image to Docker Hub..."
# Push to Docker Hub
docker push $DOCKER_USERNAME/$IMAGE_NAME:$TAG
echo "Deployment instructions for your server (107.191.37.244):"
echo "----------------------------------------"
echo "1. SSH into your server: ssh -p 2208 mcp-server@107.191.37.244"
echo " Password: wpWn6J@@i*oY"
echo "2. Pull the image: docker pull $DOCKER_USERNAME/$IMAGE_NAME:$TAG"
echo "3. Create a .env file with your configuration:"
echo " cat > .env << EOF
# MCP Remote Server Configuration
# HTTP Server settings
MCP_TRANSPORT=http
MCP_HOST=0.0.0.0
MCP_PORT=8000
# Authentication settings
MCP_AUTH_ENABLED=true
MCP_AUTH_USERNAME=admin
MCP_AUTH_PASSWORD=n2hXUijptRwpe9v6wZ37yOgEx4P8w3ofDRO0ko4A
# Logging
LOG_LEVEL=INFO
EOF"
echo "4. Run the container:"
echo " docker run -d --name \"mcp-server\" -p 5051:8000 --env-file .env $DOCKER_USERNAME/$IMAGE_NAME:$TAG"
echo ""
echo "To update to a new version:"
echo "1. SSH into your server: ssh -p 2208 mcp-server@107.191.37.244"
echo "2. Pull the latest image: docker pull $DOCKER_USERNAME/$IMAGE_NAME:$TAG"
echo "3. Stop the running container: docker stop mcp-server"
echo "4. Remove the container: docker rm mcp-server"
echo "5. Start a new container: docker run -d --name \"mcp-server\" -p 5051:8000 --env-file .env $DOCKER_USERNAME/$IMAGE_NAME:$TAG"