#!/bin/bash # Quick run script for BGP container # Simple one-command BGP server launcher echo -e "\033[32m🚀 Quick BGP Server Launcher\033[0m" # Check if required files exist if [ ! -f "frr.conf" ]; then echo -e "\033[31mError: frr.conf not found in current directory\033[0m" exit 1 fi if [ ! -f "prefixes.txt" ]; then echo -e "\033[31mError: prefixes.txt not found in current directory\033[0m" exit 1 fi # Stop existing container if running docker stop bgp-server 2>/dev/null || true docker rm bgp-server 2>/dev/null || true # Pull latest image echo -e "\033[33m📥 Pulling FRRouting image...\033[0m" docker pull quay.io/frrouting/frr:latest # Run container echo -e "\033[33m🚀 Starting BGP server...\033[0m" docker run -d \ --name bgp-server \ --hostname bgp-server \ --privileged \ --network host \ -v "$(pwd)/frr.conf:/etc/frr/frr.conf:ro" \ -v "$(pwd)/prefixes.txt:/etc/frr/prefixes.txt:ro" \ -e FRR_USER=frr \ -e FRR_VTYSH_PASSWORD=zebra \ --cap-add=NET_ADMIN \ --cap-add=SYS_ADMIN \ --security-opt seccomp=unconfined \ --restart unless-stopped \ quay.io/frrouting/frr:latest \ /usr/lib/frr/frrinit.sh start # Wait for startup sleep 5 # Show status echo -e "\033[36m📊 Container Status:\033[0m" docker ps --filter "name=bgp-server" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" # Show BGP status echo -e "\n\033[36m🌐 BGP Status:\033[0m" if docker exec bgp-server vtysh -c "show ip bgp summary" 2>/dev/null; then echo -e "\n\033[32m✅ BGP Server is running successfully!\033[0m" else echo -e "\n\033[33m⚠️ BGP daemon is starting up...\033[0m" fi echo -e "\n\033[33m🔧 Useful commands:\033[0m" echo -e " Connect to vtysh: docker exec -it bgp-server vtysh" echo -e " View logs: docker logs bgp-server" echo -e " Stop server: docker stop bgp-server" echo -e " Check status: docker ps | grep bgp-server"