Jak zainstalować ownCloud Infinite Scale z Docker Compose w systemie Ubuntu
Kończysz instalację Docker Compose, uruchamiasz docker compose up -di nadal nie możesz połączyć się z ownCloud. To najczęstszy praktyczny schemat awarii w przypadku Infinite Scale: kontenery mogą istnieć, ale DNS, TLS, ścieżki do magazynów lub wymagana wartość środowiskowa uniemożliwiają użycie stosu.
W tym przewodniku wykorzystano zorientowane na produkcję podejście Docker Compose, udokumentowane przez ownCloud, do wdrożenia na pojedynczym serwerze. Aktualna strona dokumentacji ownCloud jest publikowana w ramach dokumentacji deweloperskiej 9.0, ale wyraźnie zaznaczono, że dostępny do pobrania przykład produkcyjny korzysta z najnowszej stabilnej wersji i obecnie wskazuje na stabilną gałąź 8.2. To rozróżnienie ma znaczenie: nie kopiuj tagów obrazu deweloperskiego na serwer produkcyjny, chyba że celowo chcesz utworzyć kompilację deweloperską.
Poniższa konfiguracja jest odpowiednia do użytku domowego i małych organizacji, które potrzebują jednej instancji Infinite Scale za odwrotnym serwerem proxy z protokołem HTTPS. Zakłada ona Ubuntu LTS, Docker Engine, wtyczkę Docker Compose, kontrolowaną przez Ciebie domenę oraz dostęp administratora do serwera. Przykład produkcyjny ownCloud zaleca około 4–6 GB pamięci RAM dla domyślnie włączonych usług i wymaga co najmniej domeny ownCloud; opcjonalne integracje biurowe wymagają własnych subdomen.
Zanim zaczniesz: najpierw rozwiąż pytania dotyczące sieci i pamięci masowej
Nie zaczynaj od pobierania plików Compose. Najpierw sprawdź elementy, które najtrudniej naprawić po uruchomieniu stosu:
DNS: wybrana nazwa hosta, np ocis.example.com. , musi odpowiadać publicznemu adresowi IP serwera.
Zapora sieciowa i NAT: instalacja z dostępem do Internetu wymaga dostępu do portów TCP 80 i 443 dla odwrotnego proxy i przepływu certyfikatów. Do administrowania zazwyczaj wymagany jest protokół SSH na porcie TCP 22.
Trwałe przechowywanie: Woluminy zarządzane przez Dockera są wygodne, ale systemy produkcyjne zwykle korzystają z przemyślanych ścieżek dla danych konfiguracyjnych i użytkowników, dzięki czemu tworzenie kopii zapasowych i planowanie pojemności są łatwiejsze.
Nadawca wiadomości e-mail: udokumentowany przykład ownCloud musi SMTP_SENDERzostać ustawiony, nawet jeśli nie skonfigurowano jeszcze działającego przekaźnika SMTP.
Istotny jest nie konkretny numer wersji wyświetlany przez te polecenia. Potwierdzasz, że oba polecenia działają poprawnie i że Compose jest dostępny jako docker compose. Podręcznik ownCloud zaleca instalację Dockera z repozytorium Dockera, zamiast polegać na wbudowanych pakietach Dockera w Ubuntu, które mogą działać wolniej.
Przed pobraniem pakietu ownCloud sprawdź, czy Docker Engine i wtyczka Docker Compose są zainstalowane.
2. Pobierz oficjalny, stabilny przykład Compose
ownCloud udostępnia pełny przykład wdrożenia Compose, zamiast prosić administratorów o stworzenie stosu produkcyjnego od podstaw. W momencie weryfikacji dokumentacja podaje, że obecne pobranie produkcyjne jest oparte na gałęzi, stable-8.2ponieważ dokumentacja 9.0 jest nadal oznaczona jako rozwojowa.
Oficjalny przepływ pracy pobiera deployments/examples/ocis_fullkatalog, przesyła powstałe archiwum na serwer i rozpakowuje je pod ścieżką, taką jak /opt/compose/ocis/ocis_full. Dokładna nazwa archiwum może się zmienić w gałęzi stabilnej, dlatego należy skorzystać z linku do pobrania podanego w aktualnej dokumentacji ownCloud, zamiast wpisywać na stałe nazwę pliku ze starszego samouczka.
Po wyodrębnieniu przejdź do katalogu wdrożeniowego i sprawdź zawartość:
cd /opt/compose/ocis/ocis_full
ls -la
Powinny być widoczne pliki Compose, katalog konfiguracyjny i .envplik dostarczony w przykładzie. Jeśli aktualizujesz istniejący, wyodrębniony przykład, .envnajpierw utwórz kopię zapasową; ownCloud ostrzega, że wyodrębnienie nowszego pakietu może go nadpisać.
3. Ostrożnie skonfiguruj plik .env
Większość problemów z pierwszym uruchomieniem wynika z pliku środowiskowego. Edytuj .envwyodrębniony katalog i przejrzyj ustawienia w przemyślanej kolejności.
Ustaw domenę publiczną
Ustaw OCIS_DOMAINnazwę hosta, która jest już rozpoznawana przez serwer, na przykład ocis.example.com. Jeśli włączasz Collabora lub ONLYOFFICE, skonfiguruj również ich udokumentowane nazwy hostów. Nie używaj domeny .envinnej niż Twoje rekordy DNS.
Przygotuj TLS
W przypadku wdrożenia z dostępem do internetu, oficjalny przykład używa Traefika i Let's Encrypt. Ustaw TRAEFIK_ACME_MAILna prawdziwy adres e-mail, który kontrolujesz. Firma ownCloud zaleca najpierw użycie tymczasowego urzędu certyfikacji Let's Encrypt, aby potwierdzić, że wydawanie certyfikatów działa, a dopiero potem przejść do środowiska produkcyjnego. Zmniejsza to ryzyko przekroczenia limitów przepustowości Let's Encrypt podczas rozwiązywania problemów.
Wybierz lokalizację danych i konfiguracji
Jeśli chcesz mieć pamięć masową zamontowaną na hoście, ustaw OCIS_CONFIG_DIRi OCIS_DATA_DIRdo zaplanowanych ścieżek trwałych. Upewnij się, że system plików bazowy ma wystarczającą pojemność i że proces tworzenia kopii zapasowej obejmuje zarówno konfigurację, jak i dane.
Ustaw nadawcę SMTP
Zdefiniuj co najmniej SMTP_SENDER. Możesz dodać pełny host SMTP, port, nazwę użytkownika, hasło, metodę uwierzytelniania i ustawienia zabezpieczeń, gdy będziesz gotowy do wysyłania powiadomień.
4. Sprawdź konfigurację Compose, a następnie uruchom stos
Przed pobraniem i uruchomieniem kontenerów poproś Compose o wyrenderowanie i sprawdzenie złożonej konfiguracji:
docker compose config
Jeśli to się nie powiedzie, popraw składnię lub brakujące zmienne przed kontynuowaniem. To sprawdzenie jest znacznie szybsze niż diagnozowanie częściowo uruchomionego wdrożenia.
Przed uruchomieniem uruchom konfigurację docker compose, aby wcześnie wykryć problemy ze składnią i zmiennymi.
Gdy konfiguracja zakończy się pomyślnie, rozpocznij wdrażanie w trybie odłączonym:
docker compose up -d
Compose pobierze wymagane obrazy i uruchomi usługi zdefiniowane w przykładzie. Przy pierwszym uruchomieniu może to potrwać dłużej, ponieważ obrazy muszą zostać pobrane i mogą zostać zażądane certyfikaty.
Uruchom skonfigurowany stos ownCloud Infinite Scale za pomocą polecenia docker compose up -d.
Jeśli pierwsze uruchomienie się nie powiedzie, rozwiąż problem od najłatwiejszego do najtrudniejszego
Sprawdź stan kontenera
Zamiast zgadywać, która usługa uległa awarii, zacznij od widoku Utwórz:
docker compose ps -a --format "table {{.Service}} {{.State}} {{.ID}}"
Usługa, która wielokrotnie się kończy, jest bardziej użyteczna niż błąd przeglądarki, ponieważ zawęża problem do jednego kontenera.
Przeczytaj logi Traefik w poszukiwaniu problemów z certyfikatami
Przewodnik ownCloud zaleca sprawdzenie Traefika w pierwszej kolejności, gdy HTTPS nie działa. Typowe przyczyny to nieprawidłowy adres e-mail kontaktowy ACME, zamknięte porty 80/443 lub DNS zwracający NXDOMAIN lub wskazujący na niewłaściwy adres IP. Po rozwiązaniu problemu ACME, postępuj zgodnie z oficjalnymi instrukcjami usuwania tylko woluminu certyfikatu zawierającego nieudane dane testowe. Nie usuwaj wszystkich woluminów.
Sprawdź logi usługi ownCloud
Znajdź identyfikator kontenera za pomocą docker compose ps, a następnie sprawdź jego logi:
docker logs -f <container_id>
Proces inicjalizacji może utworzyć konfigurację początkową przy pierwszym uruchomieniu. ownCloud dokumentuje wzorzec poleceń ocis init || true; ocis serverdla wdrożeń Compose, więc inicjalizacja jest pomijana, gdy konfiguracja już istnieje.
Nie używaj docker compose down -v przypadkowo
Aby zatrzymać wdrażanie, użyj:
docker compose down --remove-orphans
Nie dodawaj, -vchyba że celowo chcesz usunąć woluminy. OwnCloud wyraźnie ostrzega, że może to spowodować usunięcie danych wdrożenia. Jeśli podczas rozwiązywania problemów z TLS konieczne jest usunięcie jednego jednorazowego woluminu certyfikatu, usuń go selektywnie.
Jak sprawdzić, czy instalacja została faktycznie ukończona
Pomyślny wynik docker compose up -dto tylko jedno sprawdzenie. Sprawdź wynik na czterech poziomach:
DNS: publiczna nazwa hosta odpowiada prawidłowemu adresowi serwera.
TLS: przeglądarka łączy się z witryną przez HTTPS bez ostrzeżenia o certyfikacie. Jeśli celowo użyłeś tymczasowego urzędu certyfikacji Let's Encrypt, najpierw zweryfikuj certyfikat tymczasowy, a następnie przełącz się na środowisko produkcyjne zgodnie z dokumentacją.
Kontenery:docker compose ps -a pokazują oczekiwane usługi uruchomione zamiast ponownego uruchamiania lub zamykania.
Aplikacja: możesz otworzyć skonfigurowany adres URL ownCloud, zalogować się przy użyciu początkowych danych uwierzytelniających administratora, które ustawiłeś lub pobrałeś, utworzyć folder i przesłać mały plik testowy.
W przypadku nowego wdrożenia, dokumentacja podaje, że domyślna nazwa użytkownika administratora to [ adminbrakuje nazwy użytkownika]. Hasło można ustawić ręcznie podczas konfiguracji lub uzyskać za pomocą udokumentowanych procedur logowania/resetowania. Należy niezwłocznie zmienić hasło początkowe i nie pozostawiać instalacji produkcyjnej ze znanymi domyślnymi poświadczeniami.
Gdy podstawowa usługa plików działa, można dodać opcjonalne komponenty do współpracy lub bardziej zaawansowane integracje. Wykonanie tego po prawidłowym wdrożeniu rdzenia znacznie ułatwia rozwiązywanie problemów, ponieważ awaria pakietu biurowego, zewnętrznego dostawcy tożsamości lub usługi antywirusowej nie jest już powiązana z podstawowymi problemami z DNS i TLS.
Notatki dotyczące konserwacji dla stabilnego wdrożenia
Przed aktualizacją wykonaj kopię zapasową danych i konfiguracji oraz zapoznaj się z uwagami dotyczącymi migracji dla danej wersji. Dokumentacja ownCloud rozróżnia rutynowe aktualizacje obrazów i aktualizacje, które mogą wymagać zmian w konfiguracji. Typowa sekwencja czynności konserwacyjnych polega na zatrzymaniu stosu, ściągnięciu obrazów i ponownym uruchomieniu z czyszczeniem osieroconych systemów, ale przed zmianą wersji nadal warto zapoznać się z instrukcją aktualizacji dla danej wersji.
W przypadku serwera produkcyjnego należy również monitorować wykorzystanie dysku. Woluminy zarządzane przez Dockera są łatwe do uruchomienia, ale wzrost pojemności pamięci masowej może zaskoczyć, gdy system operacyjny i pliki użytkownika korzystają z tego samego systemu plików. Jeśli spodziewasz się dużej ilości danych, od początku używaj dedykowanych ścieżek pamięci masowej lub przeprowadź migrację, korzystając z udokumentowanej procedury woluminów i odpowiedniego właściciela dla użytkownika kontenera.