Why Migrate to Kazepute?
Kazepute Breezes offer competitive pricing, dedicated resources, and personalized support compared to DigitalOcean Droplets. This guide walks you through migrating your applications, databases, and configurations from DigitalOcean to Kazepute with minimal downtime.
Pre-Migration Planning
- List all Droplets, databases, spaces (object storage), and load balancers
- Document firewall rules and networking configuration
- Record all DNS records managed in DigitalOcean DNS
- Note environment variables and application configurations
- Plan the migration order (databases first, then apps)
Step 1: Deploy Kazepute Breeze
# 1. Log into your Kazepute portal
# 2. Deploy a new Breeze matching your Droplet specs
# 3. Select the same OS (Ubuntu 22.04/24.04 recommended)
# 4. Note the Breeze IP address
# 5. SSH into your new Breeze to verify access
Step 2: Install Software Stack
# Match your Droplet software stack on the Breeze
sudo apt update && sudo apt upgrade -y
# Web server
sudo apt install -y nginx
# PHP (if applicable)
sudo apt install -y php8.3-fpm php8.3-mysql php8.3-redis \
php8.3-curl php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip
# Database
sudo apt install -y mysql-server
# Or PostgreSQL:
sudo apt install -y postgresql postgresql-contrib
# Redis
sudo apt install -y redis-server
# Node.js (if applicable)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
Step 3: Transfer Database
# On DigitalOcean Droplet - export
mysqldump --single-transaction --all-databases | gzip > db-export.sql.gz
# Transfer to Kazepute Breeze
scp db-export.sql.gz root@BREEZE_IP:/tmp/
# On Kazepute Breeze - import
zcat /tmp/db-export.sql.gz | mysql -u root
# For managed DO databases, use the connection string:
mysqldump -h do-db-host -u doadmin -p --single-transaction mydb | \
mysql -h localhost -u root mydb
Step 4: Transfer Application Files
# Direct rsync from Droplet to Breeze
rsync -avz --progress \
root@DROPLET_IP:/var/www/ \
root@BREEZE_IP:/var/www/
# Fix ownership
ssh root@BREEZE_IP "chown -R www-data:www-data /var/www"
Step 5: Configure Web Server
# Copy or recreate Nginx configurations
scp root@DROPLET_IP:/etc/nginx/sites-available/* \
root@BREEZE_IP:/etc/nginx/sites-available/
# Update server_name if needed
# Enable sites and test
ssh root@BREEZE_IP "
ln -sf /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
"
# Install SSL certificates
ssh root@BREEZE_IP "
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
"
Step 6: Migrate DNS
# If using DigitalOcean DNS, migrate to Cloudflare (free):
# 1. Create Cloudflare account and add your domain
# 2. Import existing DNS records
# 3. Update domain nameservers at your registrar
# 4. Lower TTL before cutover
# 5. Update A records to point to Kazepute Breeze IP
Step 7: Migrate DO Spaces to Alternative
# If using DigitalOcean Spaces (S3-compatible):
# Option 1: Use Backblaze B2 (cheaper)
# Option 2: Self-host MinIO on your Breeze
# Transfer files with rclone
rclone sync do-spaces:my-bucket b2:my-bucket --progress
# Update application config to use new storage endpoint
Post-Migration Verification
- Test all application endpoints and features
- Verify database connectivity and data integrity
- Check SSL certificates are valid
- Test email sending if applicable
- Set up automated backups on Kazepute
- Configure server monitoring
- Keep Droplet running 48-72h as fallback
- Cancel DigitalOcean resources after confirmation