Operational procedures for common RapidPM tasks.
# Production
ssh rpm-prod-new
# Test
ssh rpm-prod-new
# OnlyOffice
ssh rpm-onlyoffice
# System resources
htop
# Disk space
df -h
# Memory
free -h
# Network
ss -tlnp
# Restart all Docker containers
cd /home/deploy/rapid-pm # or /root/rapid-pm on prod
docker-compose down && docker-compose up -d
# Restart specific service
docker-compose restart app
docker-compose restart worker
docker ps
docker-compose ps
# All containers
docker-compose logs -f
# Specific container (last 100 lines)
docker logs --tail 100 rapid-pm-app-1
# Follow logs
docker-compose logs -f app
# App container
docker exec -it rapid-pm-app-1 /bin/bash
# Redis CLI
docker exec -it rapid-pm-redis-1 redis-cli
# Rebuild without cache
docker-compose build --no-cache app
# Rebuild and restart
docker-compose up -d --build app
# Production
mysql -h 204.168.180.36 -u rpmuser -p RPMnew_dataBase
# Test
mysql -h 204.168.180.36 -u rpmusertest -p RPMnew_dataBase
# Create backup
mysqldump -h HOST -u USER -p DATABASE > backup_$(date +%Y%m%d_%H%M%S).sql
# Compress backup
gzip backup_*.sql
# From backup
mysql -h HOST -u USER -p DATABASE < backup.sql
# From compressed backup
gunzip -c backup.sql.gz | mysql -h HOST -u USER -p DATABASE
# Restart Flyway container
docker-compose restart flyway
# Check migration logs
docker-compose logs flyway
Check container status
docker ps
docker-compose ps
Check logs for errors
docker-compose logs --tail 100 app
Restart containers
docker-compose down && docker-compose up -d
Verify health
curl http://localhost:8080/api/health
Identify culprit
htop
docker stats
Check application logs
docker-compose logs app | tail -100
Restart affected service
docker-compose restart app
Check MySQL status
systemctl status mysql
Test connection
mysql -h HOST -u USER -p -e "SELECT 1"
Check connection pool
docker exec rapid-pm-app-1 python -c "from app import create_app; print('OK')"
Restart app to reset connections
docker-compose restart app
Check Redis container
docker ps | grep redis
Test Redis
docker exec rapid-pm-redis-1 redis-cli ping
# Should return: PONG
Restart Redis
docker-compose restart redis
Instant rollback (blue/green)
./scripts/deploy-blue-green.sh rollback
Manual rollback
# Check current backend
cat active-backend.conf
# Switch backend
echo 'set $backend "blue";' > active-backend.conf
docker exec rapid-pm-nginx-1 nginx -s reload
# Server health
df -h
free -h
docker ps
# Application health
curl https://rapidpm.uk/api/health
# Check error logs
docker-compose logs app 2>&1 | grep -i error | tail -20
# Database backup
mysqldump -h HOST -u USER -p DATABASE | gzip > backup_$(date +%Y%m%d).sql.gz
# Clean old Docker images
docker image prune -f
# Clean old logs
docker-compose logs --tail 0 # Reset log file position
# Update Docker images
docker-compose pull
docker-compose up -d
# Review disk usage
du -sh /var/lib/docker/*
# Check SSL certificate expiry
echo | openssl s_client -servername rapidpm.uk -connect rapidpm.uk:443 2>/dev/null | openssl x509 -noout -dates
| Role | Contact |
|---|---|
| Infrastructure | On-call team |
| Database | DBA team |
| Application | Development team |
| OnlyOffice | Document server admin |