Syncloud: jak platforma open source na Go rozwiązuje problem self-hostingu bez Docker i ręcznych konfiguracji
Syncloud to nie kolejna obudowa UI dla Docker. To pełnowartościowa platforma operacyjna do self-hostingu, zbudowana od podstaw w Go i skoncentrowana na niezawodności, izolacji oraz eksploatacji zero-konfiguracyjnej. Usuwa główną bolączkę domowych serwerów: potrzebę codziennego poprawiania konfiguracji Nginx, odnawiania certyfikatów Let’s Encrypt i rozwiązywania konfliktów portów po aktualizacjach. Zamiast tego — jednolity interfejs, SSO "z pudełka", automatyczna routing i ponad 40 aplikacji gotowych do instalacji jednym kliknięciem.
Architektura bez kompromisów: dlaczego snap zamiast Docker
Syncloud rezygnuje z Docker jako głównego środowiska kontenerowego — nie z ideologii, ale ze względów technicznych. Pakiety snap zapewniają ścisłą izolację systemu plików, kontrolę uprawnień za pomocą profili bezpieczeństwa oraz atomowe aktualizacje bez przestojów. W przeciwieństwie do obrazów Docker, pakiet snap w Syncloud zawiera:
- Predefiniowane interfejsy (network, home, removable-media) — bez ręcznego
--cap-addczy--privileged - Automatyczną rejestrację usług w systemd przy aktualizacji
- Wbudowany mechanizm rollback: jeśli nowa wersja aplikacji nie uruchomi się, system cofa się do poprzedniej w ciągu 2 sekund
Bazowy moduł platformy jest napisany w Go i składa się z trzech kluczowych komponentów:
- Platform Daemon — rdzeń zarządzający cyklem życia aplikacji, konfiguracją DNS i certyfikatami
- Web UI (Vue.js) — panel administracyjny z marketem, ustawieniami sieci i monitorowaniem stanu
- Warstwa integracji Snapd — pośrednia warstwa przekształcająca żądania instalacji w odpowiednie komendy snap z właściwymi parametrami środowiska
Nginx tu nie jest zwykłym reverse proxy — jest całkowicie zarządzany: konfiguracja generowana jest dynamicznie przy każdej instalacji/usunięciu aplikacji, z uwzględnieniem trybu TLS (Let’s Encrypt lub niestandardowy cert), SNI-routerowania i nagłówków bezpieczeństwa (HSTS, CSP, X-Frame-Options). Żadnych ręcznych modyfikacji /etc/nginx/sites-enabled/ — wszystko odbywa się przez API.
Jak działa autentyfikacja: Authelia + OpenLDAP w produkcji
System jednolitej autentyfikacji to nie opcja, a fundament. Syncloud integruje Authelia jako pośredni proxy przed wszystkimi aplikacjami. Przy pierwszym logowaniu użytkownik przechodzi przez centralizowaną formularz logowania, a Authelia sprawdza dane w bazy OpenLDAP. Po pomyślnej autentyfikacji wydawany jest token JWT, który transparentnie przekazywany jest w nagłówku X-Forwarded-User każdej aplikacji.
Ważne: serwer LDAP służy nie tylko do autentyfikacji. Zarządza również:
- Grupami użytkowników (np.
admin,media,dev) — z ograniczeniem dostępu do aplikacji - Atrybutami
mail,displayName,sshPublicKey— do integracji z serwerem pocztowym i Git - Politykami hasła (min-długość, historia, czas ważności) — za pomocą overlay slapd
ppolicy
Dzięki temu można np. ustawić, aby tylko członkowie grupy media mieli dostęp do Jellyfin, a dev — do Gogs i MeshCentral. Użytkownik wprowadza hasło tylko raz — i otrzymuje dostęp do wszystkich zezwolonych serwisów bez powtórnego logowania.
Praktyczna instalacja: od karty SD do działającego Nextcloud
Proces wdrożenia został sprowadzony do minimum. Poniżej rzeczywista sekwencja czynności na Raspberry Pi 5 (64-bit):
- Pobieramy oficjalny obraz
syncloud-os_24.04_arm64.img.xzz syncloud.org - Zapisujemy go za pomocą
ddlub Balena Etcher na microSD - Podłączamy komputer do sieci i włączamy zasilanie
- Po 90 sekundach otwieramy
http://syncloud.localw przeglądarce - Tworzymy konto — rozpoczyna to generację certyfikatu Let’s Encrypt przez ACME v2
- W dziale „App Store” znajdujemy Nextcloud → klikamy „Install”
- Po około 80 sekundach pojawia się link
https://nextcloud.syncloud.local, już z weryfikowanym certyfikatem i aktywnym SSO
Przy tym:
- Nginx automatycznie przypisał port 8080 dla serwisu Nextcloud (wewnętrzny)
- Skonfigurował blok location z proxy i nagłówkami
X-Real-IP,X-Forwarded-Proto - Dodał użytkownika z LDAP do bazy Nextcloud przez API podobne do SCIM
- Ustawiono zadanie cron do regularnej aktualizacji certyfikatu
Żadnych docker-compose up -d, żadnych certbot --nginx, żadnych sudo systemctl restart nginx. Wszystko przez interfejs HTTP.
Co jest ważne
- Syncloud to platforma podobna do systemu operacyjnego, a nie obudowa UI: zastępuje systemowy init, menedżer pakietów i stack sieciowy
- Izolacja snap zapewnia bezpieczeństwo i przewidywalność aktualizacji — bez ryzyka „zepsucia całego systemu” przy aktualizacji pojedynczej aplikacji
- Authelia + OpenLDAP realizują enterprise-grade SSO z obsługą grup, polityk hasła i dostępu atrybutowego
- Obsługa ARM64, amd64 i armhf oznacza kompatybilność z Raspberry Pi, minikomputerami na Intel/AMD i nawet starszymi serwerami ARM (np. Scaleway C2)
- Całkowicie open source (GPL-3.0), bez zależności od chmur: DNS, certyfikaty i autentyfikacja działają lokalnie
Porównanie z alternatywami: gdzie Syncloud zajmuje swoją niszę
| Kryterium | Syncloud | YunoHost | CasaOS |
|----------|----------|----------|--------|
| Runtime | snapd | chroot + skrypty shell | Docker |
| SSO | wbudowany Authelia + LDAP | SSO przez YunoHost SSO | brak (tylko basic auth) |
| HTTPS | Let’s Encrypt / niestandardowy cert, automatyczna konfiguracja w Nginx | Let’s Encrypt, ręczne włączanie | Let’s Encrypt, wymaga ręcznej konfiguracji reverse proxy |
| Aktualizacje | atomowe, z rollback | przez apt + skrypty, bez gwarancji | przez Docker Hub, bez kontroli wersji |
| Kontrola | wysoki poziom abstrakcji, „platforma z opinią” | elastyczna, ale wymaga znajomości Debian | niski poziom — tylko UI nad Docker |
Dla programistów średniego i wyższego poziomu Syncloud jest szczególnie cenna, ponieważ nie ukrywa trudności, lecz je strukturyzuje: cały kod jest dostępny, wszystkie interfejsy są udokumentowane, a CI obejmuje testy na rzeczywistym sprzęcie (Raspberry Pi 4/5, x86 mini-PC). To nie „czarny skrzynka”, a przejrzysty system, który można audytować, forkować i modyfikować — z zachowaniem kompatybilności z marketem aplikacji.
Skalowalność i ograniczenia
Syncloud nie jest pozycjonowany jako rozwiązanie dla tysięcy użytkowników. Jego sweet spot to od 1 do ~50 aktywnych kont i do 15 jednocześnie działających aplikacji. Testy pokazują, że na minikomputerze z procesorem Intel N100 i 8 GB RAM stabilnie działają:
- Nextcloud (z Collabora Online i full-text search)
- Jellyfin (transkodowanie 1080p w czasie rzeczywistym)
- Home Assistant (z ponad 200 urządzeniami)
- Gogs (z integracją CI)
- Bitwarden + Authelia + OpenLDAP
Zużycie energii — 9–12 W pod obciążeniem, bez wentylatora. Do cięższych scenariuszy (np. Plex z sprzętowym transkodowaniem czy Matrix z 500+ użytkownikami) potrzebny jest zewnętrzny serwer lub klasteryzacja — której Syncloud na razie nie wspiera. Ale dla większości domowych i małych biurowych use-case’ów to optymalny balans między prostotą a kontrolą.
— Editorial Team
Brak komentarzy.