Tworzenie niezawodnej kopii zapasowej jest absolutnie krytyczne, zwłaszcza gdy pracujemy z kodem (PHP, Python, JavaScript) lub zarządzamy kluczowymi systemami, jak np. systemem ERP. Lokalny backup nie wystarczy – potrzebujemy rozwiązania zdalnego i zaszyfrowanego, które będzie odporne na awarie dysku.
Duplicati w połączeniu z Dockerem i serwerem TrueNAS (wykorzystującym SFTP) to złoty standard. Instalacja może być podstępna, ale dzięki temu przewodnikowi unikniesz problemów z zależnościami (libicu) i uprawnieniami (Access Denied).
1. Wymagania Wstępne i Architektura
Zainstalujemy Duplicati w kontenerze Docker na komputerze klienckim, a dane prześlemy bezpiecznie na serwer TrueNAS za pomocą protokołu SFTP (SSH).
Wymagania:
- Zainstalowany i skonfigurowany Docker na Twoim Ubuntu.
- Włączona Usługa SSH na TrueNAS.
- Utworzony folder docelowy na TrueNAS (np.
/mnt/Twoja_Pula/Duplicati) z uprawnieniami zapisu dla użytkownika SSH.
2. Uruchomienie Kontenera Duplicati (Wersja Niezawodna)
Użyjemy popularnego obrazu linuxserver/duplicati. Aby uniknąć błędów z uprawnieniami i nieudanym startem, musimy poprawnie zdefiniować mapowanie wolumenów (folderów) i hasła środowiskowe.
Przygotowanie folderu i użytkownika
Przed uruchomieniem kontenera, upewnij się, że Twój folder konfiguracji istnieje. Zmienne PUID i PGID gwarantują, że Duplicati będzie miało pełny dostęp do Twojego katalogu domowego.
# Sprawdź swoje UID i GID (zazwyczaj 1000)
UID=$(id -u andre)
GID=$(id -g andre)
# Utwórz folder do przechowywania konfiguracji Duplicati
mkdir -p /home/andre/duplicati_config
Polecenie Docker Run
Musimy użyć kluczy środowiskowych (do uruchomienia i do hasła webowego) oraz dwóch mapowań wolumenów (konfiguracja i pliki źródłowe).
Ważne: Użyj swoich, silnych wartości dla kluczy SETTINGS_ENCRYPTION_KEY i DUPLICATI__WEBSERVICE_PASSWORD.
docker run -d \
--name=duplicati \
-p 8200:8200 \
-e PUID=$UID \
-e PGID=$GID \
-e SETTINGS_ENCRYPTION_KEY="TWÓJ_UNIKALNY_KLUCZ_SZYFRUJĄCY_KONFIGURACJĘ" \
-e DUPLICATI__WEBSERVICE_PASSWORD="TWOJE_HASLO_DO_INTERFEJSU_GUI" \
-v /home/andre/duplicati_config:/config \
-v /home/andre:/source/home/andre \
--restart unless-stopped \
linuxserver/duplicati:latest
/config: Trwałe przechowywanie bazy danych i ustawień Duplicati./source/home/andre: Mapowanie całego Twojego katalogu domowego (źródło) do kontenera.PUID/PGID: Mapowanie kontenera na UID/GID Twojego użytkownika (andre), aby zapobiec błędomAccess Deniedpodczas backupu folderu domowego.
3. Konfiguracja i Ustawienie Backupu na TrueNAS
Po udanym uruchomieniu kontenera (sprawdź docker ps), otwórz przeglądarkę.
Krok 1: Dostęp do Interfejsu
Przejdź do: http://localhost:8200
Zaloguj się hasłem, które ustawiłeś w zmiennej środowiskowej DUPLICATI__WEBSERVICE_PASSWORD.
Krok 2: Ustawienie Zdalnego Repozytorium (Destination)
- Kliknij
Add backupi przejdź do kroku Destination (2). - Storage Type: Wybierz
SFTP (SSH). - Server: Wpisz adres IP TrueNAS (np.
192.168.0.13). - Path on server: Wpisz pełną ścieżkę do datasetu TrueNAS, np.
/mnt/Twoja_Pula/Duplicati. - Username/Password: Podaj dane logowania użytkownika SSH (np.
andre) na TrueNAS. - Kliknij
Test connection— musi pojawić się komunikatConnection worked!.
Krok 3: Wybór Danych Źródłowych (Source Data)
W kroku Source Data (3) wybierzesz foldery, które zmapowałeś do Dockera:
- W drzewie plików znajdź folder
/source/home/andre. - Zaznacz krytyczne podfoldery (np.
Documents,Projects,Klucze SSHw.ssh).
Filtry (Kluczowe dla wydajności): Aby uniknąć kopiowania śmieci i cache’u, które generowały błędy, dodaj te wykluczenia w sekcji Filters:
| Typ Filtra | Ścieżka Filtra |
Exclude folder | /source/home/andre/.local/share/Trash |
Exclude folder | /source/home/andre/.cache |
Exclude folder | /source/home/andre/Downloads |
Krok 4: Ustawienie Opcji (Retention)
W sekcji Options (5) ustaw:
- Remote volume size: 50 MB (lub 100 MB).
- Backup retention:
Smart backup retention(Najlepsza polityka zarządzania miejscem).
Po zakończeniu Duplicati będzie tworzyć zaszyfrowane, deduplikowane i automatyczne kopie zapasowe, które zabezpieczą Twoje środowisko programistyczne i dane przed awarią dysku lokalnego.





Dodaj komentarz