48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# Service Migration Session Notes
|
|
|
|
Migrated from HP Mini i5-6500T/7GB (192.168.50.150) → rayserver i7-10700K/14GB/GTX1050Ti (192.168.50.98) running Ubuntu 26.04, Docker 29.1.3, NVIDIA Driver 580 with CUDA 13.0.
|
|
|
|
## Services Migrated
|
|
|
|
| Service | Old Port | New Port | Notes |
|
|
|---------|----------|----------|-------|
|
|
| Immich v2.7.5 | 2283 | 2283 | GPU ML with -cuda image tag |
|
|
| Hermes Web UI | 8787 | 8787 | Same password, STATE_DIR required |
|
|
| Portainer CE | 9443 | 9443 | Volume data preserved |
|
|
| Heimdall | 8080 | 8080 | Volume data preserved |
|
|
| Scrutiny | 7272 | 7272 | Volume data preserved |
|
|
| Uptime Kuma | 3001 | 3001 | Volume data preserved |
|
|
| PiHole | 8090 | 8090 | Port 53 bound to specific IP |
|
|
| Watchtower | — | — | Replaced with cron.daily script |
|
|
|
|
## Volume Tar-Pipe Command
|
|
|
|
The working pattern for copying Docker volume data between machines:
|
|
|
|
```bash
|
|
sshpass -p '<pass>' ssh user@old-ip "sudo tar czf - -C /var/lib/docker/volumes/<src>/_data ." | ssh user@new-ip "sudo tar xzf - -C /var/lib/docker/volumes/<dst>/_data/"
|
|
```
|
|
|
|
Source volumes on old machine used hyphenated names (`uptime-kuma_uptime_kuma_data`, `dashboard_heimdall_config`). Destination volumes on new machine used simpler names (`uptime_kuma_data`, `heimdall_config`).
|
|
|
|
## PiHole Details
|
|
|
|
- PiHole password: `@89` (same suffix as the user's SSH password pattern)
|
|
- PiHole admin URL: `http://192.168.50.98:8090/admin`
|
|
- Port 53 bound to `192.168.50.98:53:53/tcp` and `.udp` (not `0.0.0.0:53`) due to systemd-resolved conflict on Ubuntu 26.04
|
|
- systemd-resolved on Ubuntu 26.04 listens on 127.0.0.53:53 (stub) AND 127.0.0.54:53 (proxy) — either can block Docker's `0.0.0.0:53`
|
|
|
|
## API Key Transfer
|
|
|
|
API keys were copied via piping `cat` over SSH:
|
|
```bash
|
|
sshpass -p '<pass>' ssh user@old-ip 'cat ~/.hermes/.env' | ssh user@new-ip 'cat > ~/.hermes/.env'
|
|
```
|
|
|
|
The terminal tool redacts secrets in output, making it hard to verify. Check by file byte count (`wc -c`) or hexdump the password field specifically.
|
|
|
|
## VERSION
|
|
|
|
*Last updated:* 2026-05-31
|
|
*Target:* Internal reference for selfhosted-migration skill
|