mirror of
https://github.com/A6-9V/MQL5-Google-Onedrive.git
synced 2026-04-10 20:40:56 +00:00
- Changed `check_authorized` in `scripts/telegram_deploy_bot.py` to fail closed (deny all) if `TELEGRAM_ALLOWED_USER_IDS` is unset or empty. - Updated `scripts/TELEGRAM_BOT_SETUP.md` and `QUICK_DEPLOY.md` to document that `TELEGRAM_ALLOWED_USER_IDS` is now mandatory for bot access. - Added Sentinel Journal entry in `.jules/sentinel.md` documenting the vulnerability and learning. - Verified fix with reproduction script.
138 lines
2.6 KiB
Markdown
138 lines
2.6 KiB
Markdown
# Quick Cloud Deployment Guide
|
|
|
|
## Prerequisites
|
|
|
|
1. **Docker Desktop** - Must be running
|
|
2. **Fly.io CLI** (for Fly.io deployment)
|
|
3. **GitHub account** (for Render.com)
|
|
|
|
## Quick Deploy Commands
|
|
|
|
### Option 1: PowerShell Script (Recommended)
|
|
|
|
```powershell
|
|
# Deploy to Fly.io
|
|
.\scripts\deploy_cloud_simple.ps1 -Platform flyio
|
|
|
|
# Deploy to Render (instructions)
|
|
.\scripts\deploy_cloud_simple.ps1 -Platform render
|
|
|
|
# Deploy to Railway
|
|
.\scripts\deploy_cloud_simple.ps1 -Platform railway
|
|
```
|
|
|
|
### Option 2: Python Script
|
|
|
|
```powershell
|
|
# Deploy to Fly.io
|
|
python scripts/deploy_cloud.py flyio
|
|
|
|
# Deploy to Render
|
|
python scripts/deploy_cloud.py render
|
|
|
|
# Deploy to Railway
|
|
python scripts/deploy_cloud.py railway
|
|
```
|
|
|
|
### Option 3: Manual Deployment
|
|
|
|
#### Fly.io
|
|
|
|
1. **Install Fly CLI** (if not installed):
|
|
```powershell
|
|
iwr https://fly.io/install.ps1 -useb | iex
|
|
```
|
|
|
|
2. **Login**:
|
|
```powershell
|
|
flyctl auth login
|
|
```
|
|
|
|
3. **Deploy**:
|
|
```powershell
|
|
flyctl deploy
|
|
```
|
|
|
|
#### Render.com
|
|
|
|
1. **Push to GitHub**:
|
|
```powershell
|
|
git add .
|
|
git commit -m "Deploy to Render"
|
|
git push origin main
|
|
```
|
|
|
|
2. **Go to Render.com**:
|
|
- Visit https://render.com
|
|
- Create new Web Service
|
|
- Connect GitHub repository
|
|
- Render auto-detects `render.yaml`
|
|
- Deploy!
|
|
|
|
#### Railway.app
|
|
|
|
1. **Install Railway CLI**:
|
|
```powershell
|
|
npm i -g @railway/cli
|
|
```
|
|
|
|
2. **Login and Deploy**:
|
|
```powershell
|
|
railway login
|
|
railway init
|
|
railway up
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
Set these secrets in your cloud platform:
|
|
|
|
### Required
|
|
- `PYTHONUNBUFFERED=1`
|
|
- `TZ=UTC`
|
|
- `ENV=production`
|
|
|
|
### Optional (for Telegram Bot)
|
|
- `TELEGRAM_BOT_TOKEN` (from config/vault.json)
|
|
- `TELEGRAM_ALLOWED_USER_IDS` (comma-separated user IDs - REQUIRED for access)
|
|
|
|
### Setting Secrets
|
|
|
|
**Fly.io:**
|
|
```powershell
|
|
flyctl secrets set TELEGRAM_BOT_TOKEN=your_token_here
|
|
```
|
|
|
|
**Render.com:**
|
|
- Dashboard → Environment → Add Secret
|
|
|
|
**Railway:**
|
|
- Dashboard → Variables → Add Variable
|
|
|
|
## Troubleshooting
|
|
|
|
### Docker Not Running
|
|
```powershell
|
|
# Start Docker Desktop manually, or:
|
|
Start-Process "C:\Program Files\Docker\Docker\Docker Desktop.exe"
|
|
```
|
|
|
|
### Build Fails
|
|
```powershell
|
|
# Test Docker build locally
|
|
docker build -f Dockerfile.cloud -t mql5-automation:latest .
|
|
```
|
|
|
|
### Deployment Fails
|
|
1. Check logs: `flyctl logs` (or platform equivalent)
|
|
2. Verify environment variables are set
|
|
3. Check Dockerfile.cloud syntax
|
|
4. Ensure requirements.txt is up to date
|
|
|
|
## Next Steps
|
|
|
|
After deployment:
|
|
- ✅ Check app status: `flyctl status`
|
|
- ✅ View logs: `flyctl logs`
|
|
- ✅ Test Telegram bot: Send `/start` to your bot
|
|
- ✅ Monitor: Use platform dashboard
|