3.2 KiB
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
1. Use Reverse Proxy (Recommended)
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
🔗 Useful Links
- Full Documentation: DEPLOYMENT.md
- Edge TTS Project: https://github.com/rany2/edge-tts
- Docker Docs: https://docs.docker.com
💡 Tips
- Always use reverse proxy in production
- Enable SSL/TLS with Let's Encrypt
- Set up monitoring and logging
- Regular backups if you add persistent data
- Keep Docker and images updated
Need Help? Check DEPLOYMENT.md for detailed instructions!