add web ui
This commit is contained in:
195
web/DOCKER_QUICKSTART.md
Normal file
195
web/DOCKER_QUICKSTART.md
Normal file
@@ -0,0 +1,195 @@
|
||||
# Docker Quick Start Guide
|
||||
|
||||
## 🚀 Deploy in 3 Steps
|
||||
|
||||
### Step 1: Build
|
||||
```bash
|
||||
cd web
|
||||
./build.sh
|
||||
```
|
||||
|
||||
### Step 2: Deploy to Remote Server
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Build and start
|
||||
docker-compose up -d
|
||||
|
||||
# View logs
|
||||
docker-compose logs -f
|
||||
|
||||
# Stop
|
||||
docker-compose down
|
||||
|
||||
# Restart
|
||||
docker-compose restart
|
||||
```
|
||||
|
||||
### Remote Deployment
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Container status
|
||||
docker-compose ps
|
||||
|
||||
# Health check
|
||||
docker inspect edge-tts-web --format='{{.State.Health.Status}}'
|
||||
|
||||
# Resource usage
|
||||
docker stats edge-tts-web
|
||||
```
|
||||
|
||||
### Troubleshooting
|
||||
```bash
|
||||
# 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`:
|
||||
```yaml
|
||||
ports:
|
||||
- "3000:8000" # Change 3000 to your desired port
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
Create `.env` file:
|
||||
```bash
|
||||
PYTHONUNBUFFERED=1
|
||||
# Add your variables here
|
||||
```
|
||||
|
||||
## 🌐 Production Setup
|
||||
|
||||
### 1. Use Reverse Proxy (Recommended)
|
||||
|
||||
**Nginx:**
|
||||
```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:**
|
||||
```bash
|
||||
sudo certbot --nginx -d tts.yourdomain.com
|
||||
```
|
||||
|
||||
### 2. Firewall Setup
|
||||
```bash
|
||||
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)
|
||||
```bash
|
||||
# Add to crontab
|
||||
0 2 * * * cd /opt/edge-tts && docker-compose pull && docker-compose up -d
|
||||
```
|
||||
|
||||
## 📊 Monitoring
|
||||
|
||||
### Check Health
|
||||
```bash
|
||||
curl http://localhost:8000/api/health
|
||||
```
|
||||
|
||||
### View Metrics
|
||||
```bash
|
||||
docker stats edge-tts-web
|
||||
```
|
||||
|
||||
## 🆘 Quick Fixes
|
||||
|
||||
### Port Already in Use
|
||||
```bash
|
||||
# Find process using port
|
||||
sudo lsof -i :8000
|
||||
|
||||
# Or change port in docker-compose.yml
|
||||
```
|
||||
|
||||
### Permission Denied
|
||||
```bash
|
||||
sudo usermod -aG docker $USER
|
||||
newgrp docker
|
||||
```
|
||||
|
||||
### Container Won't Start
|
||||
```bash
|
||||
# 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](DEPLOYMENT.md)
|
||||
- Edge TTS Project: https://github.com/rany2/edge-tts
|
||||
- Docker Docs: https://docs.docker.com
|
||||
|
||||
## 💡 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](DEPLOYMENT.md) for detailed instructions!
|
||||
Reference in New Issue
Block a user