Files
bgp-server/quick-run.sh
T
2025-07-11 18:46:16 +07:00

63 lines
1.9 KiB
Bash

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