Przenoszenie artykuł na bloga
Przeniesienie domowego serwera z fizycznego sprzętu do środowiska wirtualnego na Proxmoxie. Zyskuje dzięki temu migawki (snapshots), łatwiejsze zarządzanie zasobami oraz zwalniam jedno fizyczne urządzenie.
Opis teg jak przeniosłem CasaOS zachowując wszystkie dane, kontenery i ustawienia.
Migracji: Dane > Obrazy
- Definicje kontenerów (
**/var/lib/casaos**): Pliki YAML, które mówią Dockerowi, jak uruchomić aplikację. - Trwałe dane (
**/DATA/AppData**): np: hasła z Vaultwardena i notatki z Trilium.
Procedura Migracji Krok po Kroku
**1.Przygotowanie maszyny docelowej:**VM na Proxmox.
Zainstalowanie czystego system Debian na VM, a następnie zainstalowanie CasaOS:
curl -fsSL https://get.casaos.io | sudo bash
Utworzenie konta w panelu przeglądarki do casaos.
Następnie zatrzymanie usługi, aby nie nadpisać plików w locie:
sudo systemctl stop casaos.service
2.Zabezpieczenie danych na starym urządzeniu.
Zatrzymanie wszystkich kontenerów i usługi CasaOS, aby bazy danych przestały zapisywać informacje:
sudo systemctl stop casaos.service
docker stop $(docker ps -q)
Spakowanie najważniejszych katalogów:
sudo tar -cvzf migration_casaos.tar.gz /var/lib/casaos /DATA/AppData
**3.Transfer archiwum:**Przesyłanie plików między maszynami.
scp migration_casaos.tar.gz użytkownik@adres_ip:/home/user/
**4.Przywracanie na nowym serwerze:**Rozpakowanie danych.
sudo tar -xvzf /home/user/migration_casaos.tar.gz -C /
Uprawnienia i startowanie usługi:
sudo chown -R root:root /var/lib/casaos
sudo systemctl start casaos.service
Rozwiązywanie problemów po migracji
1. Rozwiązanie błędu: “Address already in use” (Port 80)
Migrowałem Nginx Proxy Manager (NPM). Nowa instalacja CasaOS domyślnie zajmuje port 80 dla swojego interfejsu webowego, przez co NPM nie mógł wystartować.
Jak to naprawić?
-
Zalogowanie się do panelu CasaOS.
-
Settings w lewym górnym rogu.
-
Web UI Port z
80na np.81lub8080. -
Terminal i uruchomić NPM:
cd /var/lib/casaos/apps/nginxproxymanager && sudo docker compose up -d
2. Ręczne “wybudzanie” kontenerów
Po migracji panel CasaOS był pusty, mimo że pliki są na miejscu, musiałem uruchomić docker compose dla każdej aplikacji:
# Przykład dla Trilium
cd /var/lib/casaos/apps/trilium && sudo docker compose up -d
# Przykład dla n8n
cd /var/lib/casaos/apps/n8n && sudo docker compose up -d
Docker automatycznie pobierze brakujące obrazy z internetu. Twoje dane (notatki, workflowy) zostaną automatycznie podpięte z przeniesionego folderu
/DATA/AppData.
3. Zmiana adresu ip vm
Wyłaczyłem stare urządzenie z casaos i na vm na którą przeniosłem obrazy ustawiłem stary adres ip tak żeby inne usługi w sieci nadal miały dostęp do przeniesionej casaos.