Files
edge-tts/web/DOCKER_QUICKSTART.md
2025-12-02 12:22:06 +08:00

3.2 KiB

Docker Quick Start Guide

🚀 Deploy in 3 Steps

Step 1: Build

cd web
./build.sh

Step 2: Deploy to Remote Server

# Replace with your server IP/hostname
REMOTE_HOST=192.168.1.100 ./deploy.sh

Step 3: Access

http://YOUR_SERVER_IP:8000

📋 Common Commands

Local Development

# Build and start
docker-compose up -d

# View logs
docker-compose logs -f

# Stop
docker-compose down

# Restart
docker-compose restart

Remote Deployment

# Basic deployment
REMOTE_HOST=192.168.1.100 ./deploy.sh

# Custom user and path
REMOTE_HOST=myserver.com \
REMOTE_USER=deployer \
REMOTE_PATH=/opt/edge-tts \
./deploy.sh

Monitoring

# Container status
docker-compose ps

# Health check
docker inspect edge-tts-web --format='{{.State.Health.Status}}'

# Resource usage
docker stats edge-tts-web

Troubleshooting

# View logs
docker-compose logs --tail=100

# Restart container
docker-compose restart

# Rebuild from scratch
docker-compose down
docker-compose build --no-cache
docker-compose up -d

🔧 Configuration

Change Port

Edit docker-compose.yml:

ports:
  - "3000:8000"  # Change 3000 to your desired port

Environment Variables

Create .env file:

PYTHONUNBUFFERED=1
# Add your variables here

🌐 Production Setup

Nginx:

server {
    listen 80;
    server_name tts.yourdomain.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Install SSL:

sudo certbot --nginx -d tts.yourdomain.com

2. Firewall Setup

sudo ufw allow 22/tcp   # SSH
sudo ufw allow 80/tcp   # HTTP
sudo ufw allow 443/tcp  # HTTPS
sudo ufw enable

3. Auto-Updates (Optional)

# Add to crontab
0 2 * * * cd /opt/edge-tts && docker-compose pull && docker-compose up -d

📊 Monitoring

Check Health

curl http://localhost:8000/api/health

View Metrics

docker stats edge-tts-web

🆘 Quick Fixes

Port Already in Use

# Find process using port
sudo lsof -i :8000

# Or change port in docker-compose.yml

Permission Denied

sudo usermod -aG docker $USER
newgrp docker

Container Won't Start

# Check logs
docker-compose logs

# Rebuild
docker-compose build --no-cache
docker-compose up -d

📁 File Structure

web/
├── Dockerfile           # Container definition
├── docker-compose.yml   # Orchestration
├── build.sh            # Build script
├── deploy.sh           # Deploy script
├── server.py           # Backend
└── [web files]         # Frontend

💡 Tips

  1. Always use reverse proxy in production
  2. Enable SSL/TLS with Let's Encrypt
  3. Set up monitoring and logging
  4. Regular backups if you add persistent data
  5. Keep Docker and images updated

Need Help? Check DEPLOYMENT.md for detailed instructions!