- CLAUDE.md: Server instructions and service reference - docs/: Persistent documentation (architecture, guides) - .artifacts/: Session-generated notes - playwriter-browser/: Remote browser container config Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.6 KiB
4.6 KiB
NUC Hard Disk Change Guide
Date: 2026-02-01 17:30 Context: Step-by-step guide to replace NUC hard disk with larger one
Prerequisites
- Clonezilla USB boot drive (download)
- External USB drive (larger than current disk usage)
- New internal disk (must be >= current used space)
- 1-2 hours of downtime
Before You Start
Check current disk usage
ssh nuc "df -h / && lsblk"
Verify services are backed up
ssh nuc "docker exec kopia kopia snapshot list --all | tail -10"
Export critical configs (safety net)
ssh nuc "tar czf /tmp/nuc-configs-backup.tar.gz /data/coolify /opt/homepage/config 2>/dev/null"
scp nuc:/tmp/nuc-configs-backup.tar.gz ~/Desktop/
Phase 1: Create Clonezilla Image
1.1 Boot from Clonezilla USB
- Insert Clonezilla USB into NUC
- Power on, press F10 for boot menu
- Select USB drive
- Choose:
Clonezilla live (Default)
1.2 Create disk image
Select: device-image
Select: local_dev (save to external USB)
Choose: savedisk
Image name: nuc-full-2026-02-01
Source disk: /dev/sda (or /dev/nvme0n1)
Compression: -z1p (parallel gzip, fastest)
Options: -fsck-src-part -c (check & checksum)
1.3 Wait for completion
- 256GB disk → ~20-40 min
- 512GB disk → ~40-60 min
1.4 Verify image
Clonezilla shows checksums. Note them down:
Image checksum: ________________________________
Phase 2: Swap Physical Disk
2.1 Power off NUC
ssh nuc "sudo shutdown now"
2.2 Open NUC and replace disk
- Disconnect power
- Remove bottom cover (4 screws)
- Remove old disk (M.2 or 2.5" SATA)
- Insert new disk
- Replace cover
Phase 3: Restore to New Disk
3.1 Boot Clonezilla again
- Insert Clonezilla USB + external drive with image
- Boot from USB
3.2 Restore image
Select: device-image
Select: local_dev
Choose: restoredisk
Image: nuc-full-2026-02-01
Target: /dev/sda (new disk)
3.3 Confirm and wait
Same time as backup (~20-60 min)
Phase 4: Expand Partition
After restore, the new disk has the old partition sizes. Expand to use all space:
4.1 Boot into Ubuntu
Remove USB drives, boot normally.
4.2 Expand partition
# Check current layout
lsblk
# Expand partition (usually partition 2 or 3)
sudo growpart /dev/sda 2
# Expand filesystem
sudo resize2fs /dev/sda2
# Verify
df -h /
For NVMe drives:
sudo growpart /dev/nvme0n1 2
sudo resize2fs /dev/nvme0n1p2
For LVM:
sudo pvresize /dev/sda2
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
Phase 5: Verify Everything Works
5.1 Check services
# All containers running?
docker ps
# Coolify healthy?
curl -s http://localhost:8000/api/health
# Check each service
docker ps --format 'table {{.Names}}\t{{.Status}}' | head -20
5.2 Test critical services
| Service | Test |
|---|---|
| Coolify | http://192.168.1.3:8000 |
| Homepage | http://192.168.1.3:3000 |
| Gitea | http://192.168.1.3:3030 |
| n8n | http://192.168.1.3:5678 |
5.3 Verify databases
# LiquidGym Postgres
docker exec postgres-x4kk8g4k8w4g0cw480w84g4g psql -U postgres -c "\\l"
# LiquidGym MySQL
docker exec hgwcgs4oswwc8scg080scoo4 mysql -u root -pliquidgym_root_nuc_2026 -e "SHOW DATABASES;"
Troubleshooting
GRUB bootloader not found
# Boot from Ubuntu Live USB
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit
reboot
NVMe device name changed
Edit /etc/fstab to use UUID instead of device names:
# Find UUIDs
blkid
# Edit fstab
sudo nano /etc/fstab
# Change /dev/sda2 to UUID=xxxxx
Docker services not starting
sudo systemctl restart docker
docker ps -a # Check for exited containers
docker start $(docker ps -aq) # Start all
Rollback Plan
If new disk fails, you still have:
- Original disk (keep it safe for 1 week)
- Clonezilla image on external drive
- Config backup on your Mac (
~/Desktop/nuc-configs-backup.tar.gz)
Worst case: put old disk back in, boot, everything works.
Quick Reference
| Step | Time | Risk |
|---|---|---|
| Create image | 30-60 min | Low |
| Swap disk | 10 min | Low |
| Restore image | 30-60 min | Low |
| Expand partition | 5 min | Low |
| Verify services | 10 min | None |
| Total | ~2 hours | Low |
Related
- Backup Strategy:
2026-02-01_17-30_nuc-backup-strategy.md - Coolify Dashboard: http://192.168.1.3:8000