120 lines
2.8 KiB
Markdown
120 lines
2.8 KiB
Markdown
# Quick Migration Checklist
|
|
|
|
## Pre-Migration (Current Location)
|
|
|
|
- [ ] Review PROJECT_CONTEXT.md
|
|
- [ ] Ensure all Dockerfiles don't have `apt-get` commands
|
|
- [ ] Note any custom modifications made
|
|
- [ ] Export any existing data (if needed):
|
|
```bash
|
|
docker exec btc_timescale pg_dump -U btc_bot btc_data > backup.sql
|
|
```
|
|
|
|
## Copy Files
|
|
|
|
Copy entire `btc_bot/` folder to new location:
|
|
|
|
```bash
|
|
# Option 1: Direct copy
|
|
cp -r btc_bot /new/location/
|
|
|
|
# Option 2: Tar archive
|
|
tar -czvf btc_bot_backup.tar.gz btc_bot/
|
|
# Copy to new location
|
|
tar -xzvf btc_bot_backup.tar.gz -C /new/location/
|
|
|
|
# Option 3: rsync
|
|
rsync -avz --progress btc_bot/ user@new-host:/path/to/btc_bot/
|
|
```
|
|
|
|
## Post-Migration (New Location)
|
|
|
|
- [ ] Run migration helper: `./scripts/migrate.sh`
|
|
- [ ] Verify `.env` file exists and has correct password
|
|
- [ ] Check file permissions: `ls -la scripts/*.sh`
|
|
- [ ] Review `docker/timescaledb.conf` for any local adjustments
|
|
- [ ] Update `config/data_config.yaml` if paths changed
|
|
|
|
## Deploy
|
|
|
|
- [ ] Run: `./scripts/deploy.sh`
|
|
- [ ] Check container status: `docker-compose ps`
|
|
- [ ] Test health endpoint: `curl http://localhost:8000/api/v1/health`
|
|
- [ ] Open dashboard: `http://your-ip:8000/dashboard`
|
|
- [ ] Verify database: `docker exec btc_timescale psql -U btc_bot -d btc_data -c "SELECT version();"`
|
|
|
|
## Verification
|
|
|
|
- [ ] WebSocket connecting (check logs)
|
|
- [ ] Candles appearing in database
|
|
- [ ] Dashboard loading
|
|
- [ ] API responding
|
|
- [ ] No errors in logs
|
|
|
|
## Optional: Import Old Data
|
|
|
|
If you exported data from old location:
|
|
|
|
```bash
|
|
docker exec -i btc_timescale psql -U btc_bot -d btc_data < backup.sql
|
|
```
|
|
|
|
## Troubleshooting Migration Issues
|
|
|
|
### Permission Denied on Scripts
|
|
```bash
|
|
chmod +x scripts/*.sh
|
|
```
|
|
|
|
### Docker Build Fails
|
|
```bash
|
|
cd docker
|
|
docker-compose down
|
|
docker system prune -f
|
|
docker-compose build --no-cache
|
|
```
|
|
|
|
### Database Connection Failed
|
|
```bash
|
|
# Check if .env has correct DB_PASSWORD
|
|
cat .env | grep DB_PASSWORD
|
|
|
|
# Verify database is running
|
|
docker-compose ps
|
|
|
|
# Check database logs
|
|
docker-compose logs timescaledb
|
|
```
|
|
|
|
### Port Already in Use
|
|
```bash
|
|
# Check what's using port 5432 or 8000
|
|
sudo netstat -tulpn | grep 5432
|
|
sudo netstat -tulpn | grep 8000
|
|
|
|
# Change ports in docker-compose.yml if needed
|
|
```
|
|
|
|
## Post-Migration Cleanup (Old Location)
|
|
|
|
After confirming new location works:
|
|
|
|
```bash
|
|
# Old location - stop and remove containers
|
|
cd docker
|
|
docker-compose down -v # -v removes volumes (WARNING: deletes data!)
|
|
|
|
# Or just stop without deleting data
|
|
docker-compose down
|
|
```
|
|
|
|
## Notes
|
|
|
|
- **Database data**: Will be fresh (empty) in new location unless you export/import
|
|
- **Logs**: Start fresh in new location
|
|
- **Configuration**: .env file needs to be recreated in new location
|
|
- **Backups**: Update backup scripts to point to new path
|
|
|
|
---
|
|
|
|
**Remember**: The project is now portable and ready for deployment anywhere with Docker support! |