Wyszukiwanie w witrynie

To jest samoobsługowa alternatywa dla Dropboxa, na którą czekałem


Dropbox od lat jest usługą chmurową klasy premium. Jest szybszy, wykorzystuje maksymalną dostępną przepustowość, pozwala na strumieniowanie wideo bez konieczności wcześniejszego pobierania i jest ogólnie niezawodnym rozwiązaniem. Jednak z czasem zaczął wydawać się drogi, a darmowy plan praktycznie nie istniał z limitem 2 GB. Następnie przyszło powolne uświadomienie sobie, że moje pliki znajdują się na serwerze kogoś innego. Dlatego zdecydowałem się na hosting własny.

Początkowo próbowałem Nextcloud w połączeniu z Google Drive jako hybrydowe rozwiązanie chmurowe, i chociaż działało, zawsze wydawało się ciężkim pakietem grupowym udającym narzędzie do synchronizacji. Szukając lżejszego rozwiązania, wypróbowałem Seafile, które okazało się doskonałą alternatywą dla Dropboxa z solidną synchronizacją, której brakowało wielu rozwiązaniom hostowanym samodzielnie.

Seafile jest lekki dla zasobów

Skoncentrowane narzędzie zamiast pełnego pakietu grupowego

Pierwszą rzeczą, którą zauważyłem po skonfigurowaniu Seafile, było to, jak mało wymaga od starego laptopa, zwłaszcza w porównaniu do Nextcloud, który jest w zasadzie szwajcarskim scyzorykiem. Dostarcza kalendarze, kontakty, czat, pakiet biurowy i ogromny katalog aplikacji, wszystko działające na tym samym stosie PHP. Rzeczywiście wszechstronne, ale sprawia również, że serwer wydaje się wolny i zasobożerny, zwłaszcza na skromnym sprzęcie.

Seafile, z drugiej strony, ma lżejszy ślad. Skupia się na synchronizacji i udostępnianiu plików, a wszystko inne pozostawia innym narzędziom. Nie ma sklepu z aplikacjami nakładanym na wierzch ani dodatkowych zadań w tle dla kalendarzy czy czatu, a interfejs webowy pokazuje biblioteki i pliki zamiast ściany ikon aplikacji.

W praktyce oznacza to niższe zużycie pamięci RAM i CPU na tym samym komputerze, mniej elementów do aktualizacji oraz zauważalnie bardziej responsywny interfejs webowy. Jeśli kiedykolwiek otworzyłeś kartę Nextcloud i obserwowałeś, jak przez kilka sekund przetwarza dane, zanim pokaże twoje pliki, Seafile będzie wydawać się jak oprogramowanie z innej kategorii.

Synchronizacja na poziomie bloków po prostu działa

Tylko zmienione części pliku są przesyłane przez sieć

Silniki synchronizacji to obszar, w którym Seafile wyprzedza konkurencję. Większość narzędzi do samodzielnego hostowania przesyła całe pliki, gdy coś w nich się zmieni. Seafile używa synchornizacji na poziomie bloków, która dzieli każdy plik na małe kawałki i przesyła tylko te, które faktycznie się zmieniły.

Jest to najbardziej widoczne podczas pracy z dużymi plikami. Na przykład podczas edycji projektu wideo, modyfikowania obrazu maszyny wirtualnej lub zapisywania zmian w dużym archiwum nie wymusza pełnego ponownego przesyłania. Seafile tworzy skrót pliku, ustala, które bloki są różne, i przesyła tylko te.

Klient komputerowy działa jak zwykły folder synchronizowany dwukierunkowo, taki sam model, jaki używa Dropbox. Wybierasz folder, oznaczasz go jako bibliotekę synchronizacji i od tego momentu każda zmiana jest wykrywana i automatycznie przesyłana. Istnieje również klient dysku, który montuje twoje biblioteki jako wirtualny dysk i pobiera pliki dopiero wtedy, gdy je otwierasz, podobnie jak Dropbox Smart Sync czy Pliki na żądanie w OneDrive.

Biblioteki biją foldery

Każdy projekt jest własną, zaszyfrowaną, wersjonowaną jednostką






Biblioteki to funkcja, której większość osób nie docenia, dopóki jej nie użyje. W Dropbox wszystko znajduje się w jednej ogromnej strukturze folderów, a uprawnienia szybko stają się chaotyczne. W Seafile każdy kontener najwyższego poziomu jest biblioteką, a każda biblioteka ma własne zasady synchronizacji, ustawienia udostępniania, historię wersji i opcjonalne szyfrowanie.

To może nie brzmieć jak poważny czynnik odczulający, ale wpływa na to, jak organizujesz pliki. Możesz mieć oddzielną bibliotekę do pracy z klientami, inną do dokumentów osobistych i kolejną do zasobów multimedialnych. Każda z nich ma własne kontrolki dostępu, własny kosz i własną historię wersji, do której możesz wrócić, nie dotykając niczego innego.

W Seafile szyfrowanie jest również decyzją podejmowaną dla każdej biblioteki osobno. W przypadku poufnych dokumentów możesz włączyć szyfrowanie po stronie klienta i ustawić hasło, którego sam serwer nigdy nie zobaczy. W przypadku bibliotek multimediów, gdzie ważne jest wyszukiwanie po stronie serwera, wyłączenie szyfrowania ma większy sens. Chodzi o to, że decyzję podejmujesz raz dla każdej biblioteki, zamiast walczyć z ustawieniami na poziomie folderu.

Biblioteki wspierają również wiki i współdzielone przestrzenie robocze. Tworzenie wiki w Seafile to po prostu uruchomienie kolejnej biblioteki z innym widokiem, co utrzymuje prostotę modelu mentalnego.

Nie wszystko jest gładkie — podatek od konfiguracji

Wymieniasz subskrypcję na godzinę konfiguracji

Tutaj Dropbox zarabia swoje pieniądze. Z Dropbox instalujesz aplikację, logujesz się i gotowe. Z Seafile jesteś administratorem, inżynierem sieci i zespołem wsparcia w jednym. Dobrą wiadomością jest to, że oficjalna konfiguracja Dockera Seafile jest na tyle krótka, że można ją ukończyć przy kawie.

Najczystszym sposobem uruchomienia go na Windows jest Wersja Community w Dockerze, przy czym wszystkie dane są przechowywane na oddzielnym dysku, aby nie kolidowały z partycją systemową.

Rozpocznij od zainstalowania Docker Desktop na Windows 10 lub 11. Otwórz PowerShell jako Administrator i uruchom wsl --install --no-distribution, a następnie winget install -e --id Docker.DockerDesktop. Uruchom ponownie komputer, uruchom Docker Desktop i poczekaj, aż ikona wieloryba w zasobniku systemowym pokaże „Docker Desktop działa.”

Następnie znajdź LAN IP swojego komputera za pomocą ipconfig i zanotuj je. To jest adres, którego będziesz używać wszędzie, zarówno w pliku konfiguracyjnym, jak i na klientach.

Teraz utwórz folder dla instalacji, na przykład E:\seafile. Wewnątrz zapisz oficjalny przykładowy plik docker-compose.yml Seafile z podręcznika Docker dla Seafile 11. Otwórz go w dowolnym edytorze tekstu i dostosuj trzy rzeczy: ustaw silne MYSQL_ROOT_PASSWORD i DB_ROOT_PASSWD (muszą być takie same), wskaż wolumeny danych na foldery na E:\ zamiast /opt, a SEAFILE_SERVER_HOSTNAME ustaw na swój adres IP w sieci LAN. To wszystko. Żadne klucze JWT, żaden osobny plik .env.

Gdy plik compose jest gotowy, otwórz PowerShell, przejdź do E:\seafile i uruchom:

docker compose up -d

To jest polecenie, które instaluje Seafile. Docker odczytuje docker-compose.yml, pobiera obrazy MariaDB i Seafile z Docker Hub i uruchamia je jako kontenery w tle. Kontener Seafile następnie inicjalizuje się podczas pierwszego uruchomienia i tworzy swoją strukturę bazy danych. Cały proces trwa od dwóch do czterech minut. Postęp można śledzić za pomocą docker compose logs -f seafile, a sygnałem, że wszystko jest gotowe, jest pojawienie się linii „Seahub is started”.

Teraz otwórz http://YOUR_PC_IP w dowolnej przeglądarce. Seafile wyświetla swój własny interfejs webowy przy pierwszym uruchomieniu. Domyślny e-mail administratora to me@example.com z hasłem asecret. Jednak powinieneś natychmiast zmienić je z poziomu interfejsu webowego. Następnie utwórz swoją pierwszą bibliotekę, aby potwierdzić, że wszystko działa.

Aby uzyskać dostęp do serwera z telefonu w tej samej sieci Wi-Fi, dodaj regułę zapory systemu Windows dla portu TCP 80 w profilu Prywatnym, korzystając z interfejsu GUI lub za pomocą New-NetFirewallRule w PowerShell uruchomionym jako administrator. Następnie zainstaluj Seafile Sync Client lub Seafile Drive Client na Windows ze strony seafile.com oraz aplikację Seafile na Androida lub iOS. W każdym kliencie adres serwera to http://YOUR_PC_IP, z kontem administratora.

Samodzielne hostowanie oznacza również posiadanie własnych kopii zapasowych. Cotygodniowe zadanie, które zatrzymuje stos Dockera i kopiuje foldery danych na zewnętrzny dysk, obejmuje podstawy, a połączenie Seafile z darmowym narzędziem wieloplatformowym, takim jak Duplicati, pozwala wysyłać zaszyfrowane kopie do chmury jako drugą warstwę. Dropbox zajmuje się tym wszystkim za ciebie. W przypadku Seafile, to od ciebie zależy.

Seafile jest obecnie najbliższym odpowiednikiem Dropboxa hostowanego samodzielnie

Seafile nie próbuje być Nextcloudem i dokładnie o to chodzi. Jeśli potrzebujesz kalendarzy, kontaktów, pakietu biurowego i pełnego osobistego systemu chmurowego, będziesz potrzebować czegoś cięższego, albo możesz używać Seafile razem z osobnymi narzędziami do tych zadań. Do czystej synchronizacji peer-to-peer bez centralnego serwera, Syncthing jest lepszym wyborem do przepływu plików między urządzeniami.

Ale jeśli chodzi o alternatywę Dropbox do samodzielnego hostingu, szybkie synchronizowanie na poziomie bloków, dojrzałe klienty, lekkie UI w przeglądarce i biblioteki, które szanują sposób, w jaki organizujesz swoją pracę, Seafile jest najbliższym rozwiązaniem, jakie istnieje. Koszt konfiguracji jest realny, i teraz jesteś własnym działem IT. Wolny weekend i stary laptop dały mi doświadczenie synchronizacji, za które wcześniej płaciłem Dropbox, i nie wrócę już do niego.

Powiązane artykuły