|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
|
|
echo "β Cloudflare Manager - Quick Start β" |
|
|
echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
|
|
echo "" |
|
|
|
|
|
|
|
|
if ! command -v docker &> /dev/null; then |
|
|
echo "β οΈ Docker is not installed." |
|
|
echo " Please install Docker first: https://docs.docker.com/get-docker/" |
|
|
echo "" |
|
|
echo "Starting with Python instead..." |
|
|
|
|
|
|
|
|
if ! command -v python3 &> /dev/null; then |
|
|
echo "β Python 3 is not installed either." |
|
|
echo " Please install Python 3 or Docker." |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
if ! python3 -c "import gradio" 2>/dev/null; then |
|
|
echo "π¦ Installing dependencies..." |
|
|
pip3 install -r requirements.txt --quiet |
|
|
fi |
|
|
|
|
|
echo "π Starting Cloudflare Manager..." |
|
|
echo " Access at: http://localhost:7860" |
|
|
echo "" |
|
|
python3 app.py |
|
|
exit 0 |
|
|
fi |
|
|
|
|
|
|
|
|
echo "Docker detected. Choose deployment method:" |
|
|
echo "" |
|
|
echo "1. Docker Compose (recommended)" |
|
|
echo "2. Docker run" |
|
|
echo "3. Python (local)" |
|
|
echo "" |
|
|
read -p "Enter choice (1-3): " choice |
|
|
|
|
|
case $choice in |
|
|
1) |
|
|
echo "" |
|
|
echo "π³ Starting with Docker Compose..." |
|
|
|
|
|
if [ ! -f ".env" ]; then |
|
|
echo "π Creating .env file..." |
|
|
cp .env.example .env |
|
|
echo " Please edit .env with your credentials" |
|
|
echo " Or enter them in the web interface" |
|
|
fi |
|
|
|
|
|
docker-compose up -d |
|
|
|
|
|
if [ $? -eq 0 ]; then |
|
|
echo "" |
|
|
echo "β Service started successfully!" |
|
|
echo "" |
|
|
echo "π Status:" |
|
|
docker-compose ps |
|
|
echo "" |
|
|
echo "π Access at: http://localhost:7860" |
|
|
echo "" |
|
|
echo "π Useful commands:" |
|
|
echo " View logs: docker-compose logs -f" |
|
|
echo " Stop service: docker-compose down" |
|
|
echo " Restart: docker-compose restart" |
|
|
else |
|
|
echo "β Failed to start service" |
|
|
exit 1 |
|
|
fi |
|
|
;; |
|
|
|
|
|
2) |
|
|
echo "" |
|
|
echo "π³ Starting with Docker..." |
|
|
|
|
|
|
|
|
if ! docker images | grep -q cloudflare-manager; then |
|
|
echo "π¦ Building Docker image..." |
|
|
docker build -t cloudflare-manager . |
|
|
fi |
|
|
|
|
|
|
|
|
if docker ps -a | grep -q cloudflare-manager; then |
|
|
echo "π Stopping existing container..." |
|
|
docker stop cloudflare-manager 2>/dev/null |
|
|
docker rm cloudflare-manager 2>/dev/null |
|
|
fi |
|
|
|
|
|
|
|
|
docker run -d \ |
|
|
--name cloudflare-manager \ |
|
|
-p 7860:7860 \ |
|
|
cloudflare-manager |
|
|
|
|
|
if [ $? -eq 0 ]; then |
|
|
echo "" |
|
|
echo "β Container started successfully!" |
|
|
echo "" |
|
|
echo "π Access at: http://localhost:7860" |
|
|
echo "" |
|
|
echo "π Useful commands:" |
|
|
echo " View logs: docker logs -f cloudflare-manager" |
|
|
echo " Stop: docker stop cloudflare-manager" |
|
|
echo " Remove: docker rm cloudflare-manager" |
|
|
else |
|
|
echo "β Failed to start container" |
|
|
exit 1 |
|
|
fi |
|
|
;; |
|
|
|
|
|
3) |
|
|
echo "" |
|
|
echo "π Starting with Python..." |
|
|
|
|
|
|
|
|
if ! python3 -c "import gradio" 2>/dev/null; then |
|
|
echo "π¦ Installing dependencies..." |
|
|
pip3 install -r requirements.txt |
|
|
fi |
|
|
|
|
|
echo "π Starting Cloudflare Manager..." |
|
|
echo " Access at: http://localhost:7860" |
|
|
echo "" |
|
|
python3 app.py |
|
|
;; |
|
|
|
|
|
*) |
|
|
echo "β Invalid choice" |
|
|
exit 1 |
|
|
;; |
|
|
esac |
|
|
|