Jak zainstalować ONLYOFFICE Docs Enterprise z Docker Compose
ONLYOFFICE Docs Enterprise można uruchomić jako wdrożenie Docker Compose z wykorzystaniem oficjalnego Docker-DocumentServerrepozytorium. Kluczem jest rozpoczęcie od pliku Compose specyficznego dla Enterprise, a następnie skonfigurowanie trwałej pamięci masowej, stabilnego klucza tajnego JWT oraz pliku licencji przed traktowaniem serwera jako gotowego do produkcji. Spowoduje to zainstalowanie Docs, usługi edycji online, ale nie całego portalu ONLYOFFICE Workspace.
Poniższe kroki zostały sprawdzone pod kątem zgodności z podręcznikiem Enterprise Docker firmy ONLYOFFICE oraz oficjalnym repozytorium z dnia 6 października 2026 r. Domyślna gałąź repozytorium może ulec zmianie, dlatego w przypadku serwera o długim okresie istnienia sprawdź zatwierdzoną wersję lub tag i zachowaj tę wersję w notatkach dotyczących wdrożenia.
Przed uruchomieniem obrazu Enterprise sprawdź procesor, pamięć, przestrzeń dyskową i gotowość Dockera hosta.
Szybka lista kontrolna wymagań
Przedmiot
Co przygotować
Gospodarz
64-bitowy system operacyjny amd64 Linux; ONLYOFFICE podaje dwurdzeniowy procesor 2 GHz lub lepszy, 4 GB pamięci RAM lub więcej, 40 GB wolnego miejsca na dysku i co najmniej 4 GB przestrzeni wymiany, w zależności od systemu operacyjnego hosta.
Narzędzia kontenerowe
Docker Engine i wtyczka Docker Compose CLI. Potwierdź Compose za pomocą docker compose version.
Uprawnienia przedsiębiorstwa
Ważny plik licencji Enterprise license.licod ONLYOFFICE dla pełnej licencjonowanej wersji.
Sieć
Nazwa hosta dla usługi Docs, plan dla protokołu HTTPS i dostęp przychodzący ograniczony do portów potrzebnych wdrożeniu.
Aktualny przewodnik ONLYOFFICE dla przedsiębiorstw zawiera listę tych wymagań dotyczących hosta. Potrzeby w zakresie pojemności rosną wraz z liczbą jednoczesnych użytkowników, złożonością dokumentów i integracjami, dlatego dane bazowe dostawcy należy traktować jako punkt wyjścia, a nie jako gwarancję rozmiaru.
1. Zainstaluj Docker Compose i pobierz oficjalne pliki wdrożeniowe
Jeśli Docker Engine jest już zainstalowany na Debianie lub Ubuntu z repozytorium pakietów Dockera, zainstaluj wtyczkę Compose za pomocą:
sudo apt-get update
sudo apt-get install docker-compose-plugin
docker compose version
W przypadku innej dystrybucji Linuksa należy postępować zgodnie z aktualnymi instrukcjami instalacji Dockera dla tej dystrybucji. Aktualna wtyczka używa polecenia „spaced” docker compose; starsze, samodzielne polecenie docker-composejest utrzymywane ze względu na kompatybilność wsteczną i nie jest ścieżką używaną przez polecenie Enterprise pakietu ONLYOFFICE, pokazane tutaj.
Sklonuj repozytorium ONLYOFFICE i wejdź do jego katalogu. Jeśli Twoja polityka zarządzania zmianami wymaga wersji stałej, sprawdź znacznik zatwierdzonego wydania po klonowaniu i przed edycją plików:
git clone https://github.com/ONLYOFFICE/Docker-DocumentServer.git
cd Docker-DocumentServer
# Optional: select the approved release tag for your deployment
git checkout <release-tag>
Potwierdź, że pobrana wersja zawiera docker-compose.enterprise.yml. Nie zastępuj docker-compose.yml, który jest plikiem Compose w wersji Community Edition w tym repozytorium.
Użyj pliku Enterprise Compose z oficjalnego repozytorium Docker-DocumentServer, a nie domyślnego pliku Community Edition.
2. Przygotuj sekrety, miejsce przechowywania danych i licencję
Przed pierwszym uruchomieniem sprawdź docker-compose.enterprise.ymlplik . W aktualnym oficjalnym pliku aplikacja i usługa PostgreSQL używają przykładowego hasła do bazy danych, a wiersze JWT są zakomentowane. Zastąp przykładowe hasło do bazy danych silną wartością zarówno w DB_PWDustawieniach aplikacji, jak i w ustawieniach PostgreSQL POSTGRES_PASSWORD. Muszą być one zgodne. Usuń komentarz lub dodaj JWT_ENABLED=truei ustaw długi, unikalny kod JWT JWT_SECRET. Zachowaj ten sam tajny klucz JWT dla aplikacji lub łącznika, który będzie zintegrowany z Dokumentami.
Generuj sekrety zamiast ponownie używać hasła logowania. Na przykład, uruchom openssl rand -hex 32i umieść dane wyjściowe w prywatnym pliku środowiska, a następnie odwołaj się do niego z pliku Compose jako ${JWT_SECRET}i ${DB_PASSWORD}. Chroń plik środowiska przed innymi użytkownikami hosta i nie zatwierdzaj go w Git. Kluczowa konfiguracja wygląda następująco:
# In a private .env file beside the Compose file
JWT_SECRET=replace_with_a_long_random_value
DB_PASSWORD=replace_with_a_different_long_random_value
Zaktualizuj oba wpisy haseł do bazy danych, tak aby odwoływały się do ${DB_PASSWORD}, i ustaw wpisy środowiska serwera na JWT_ENABLED=truei JWT_SECRET=${JWT_SECRET}. Plik źródłowy Compose definiuje już wewnętrzne usługi PostgreSQL, RabbitMQ i Redis; zachowaj nazwy i zależności powiązanych usług razem, jeśli go dostosujesz.
Utrwal ważne dane aplikacji na hoście. W onlyoffice-documentserverusłudze zastąp wpisy woluminów anonimowych dla /var/www/onlyoffice/Datai /var/log/onlyofficeza pomocą montowań powiązań, takich jak:
Zachowaj pozostałe wpisy woluminu i nazwany wolumin PostgreSQL zdefiniowane w oficjalnym pliku, chyba że masz uzasadniony powód, aby je zmienić. Utwórz katalogi hosta i skopiuj otrzymaną licencję do zamontowanego katalogu danych:
mkdir -p data logs
cp /secure/path/license.lic data/license.lic
Upewnij się, że kontener może odczytywać licencję i zapisywać dane oraz ścieżki logów. Wymagania dotyczące własności plików mogą zależeć od obrazu i hosta. Jeśli zauważysz błędy uprawnień, sprawdź użytkownika uruchomionego kontenera i oficjalne instrukcje repozytorium, zamiast stosować ogólne uprawnienia. Trzymaj licencję i poufne informacje poza publicznymi katalogami głównymi i systemem kontroli źródła.
Przed uruchomieniem przejrzyj plik Enterprise Compose, aby upewnić się, że JWT, hasło bazy danych i punkty montowania pamięci masowej są ustawione prawidłowo.Umieść plik license.lic w katalogu hosta zamontowanym w /var/www/onlyoffice/Data, aby był dostępny dla kontenera.
3. Sprawdź i uruchom usługi Enterprise
Z poziomu katalogu repozytorium sprawdź poprawność konfiguracji Compose, a następnie uruchom stos Enterprise:
Pierwsze polecenie sprawdza, czy Compose potrafi parsować plik i rozwiązywać jego zmienne. Może drukować rozwiązane sekrety, dlatego należy je uruchomić w prywatnym terminalu i nie wklejać wyników do publicznych logów ani wątków pomocy technicznej. Drugie polecenie kompiluje lub uruchamia usługi opisane w pliku Enterprise. Oficjalna definicja obejmuje Serwer Dokumentów oraz jego zależności PostgreSQL, RabbitMQ i Redis.
Szukaj kontenerów, które wciąż się restartują lub są w stanie niestabilnym, błędów uwierzytelniania bazy danych, brakujących komunikatów o licencjach lub błędów uprawnień. Usługa oznaczona jako „Uruchomiona” jest przydatnym dowodem na to, że jej proces kontenera działa; samo w sobie nie dowodzi, że edycja w przeglądarce lub integracja zewnętrzna działają.
W przypadku klientów i integracji należy używać ostatecznej nazwy hosta przez HTTPS; przykładowy adres jest symbolem zastępczym dla Twojej własnej nazwy DNS.Po uruchomieniu Compose sprawdź aktualny stan usługi i jej kondycję na swoim hoście.
4. Umieść usługę za protokołem HTTPS i ogranicz dostęp
W przypadku wdrożenia produkcyjnego należy wskazać nazwę DNS, np. docs.example.comna serwer, i zapewnić protokół HTTPS, korzystając z metody certyfikacji, której używasz: zaufanego odwrotnego serwera proxy lub udokumentowanej konfiguracji certyfikatu ONLYOFFICE. Zaktualizuj przykładową nazwę hosta w poleceniach i ustawieniach integracji na własną nazwę. Nie udostępniaj zwykłego punktu końcowego edytora HTTP w publicznym internecie do rutynowego użytku.
Oficjalny plik Enterprise Compose publikuje porty 80 i 443 dla serwera dokumentów. Jego baza danych, usługi Redis i RabbitMQ są zależnościami wewnętrznymi i nie powinny być udostępniane w sieci publicznej. Sprawdź zaporę sieciową i wszelkie grupy zabezpieczeń w chmurze, aby do hosta docierał tylko niezbędny ruch przychodzący. Jeśli inny odwrotny serwer proxy posiada już porty 80 i 443, zmień mapowanie portów Compose na port tylko dla hosta lub port nieużywany i skonfiguruj serwer proxy tak, aby przekierowywał do tego lokalnego punktu końcowego; serwer proxy musi obsługiwać ruch WebSocket używany podczas edycji dokumentów.
HTTPS i JWT chronią różne rzeczy. HTTPS szyfruje ruch między klientami a serwerem. JWT weryfikuje żądania wymieniane między Docs a połączoną platformą. Należy włączyć JWT i skonfigurować dokładnie ten sam klucz tajny w konektorze lub na platformie. Nie należy wyłączać JWT tylko po to, aby test integracyjny zakończył się sukcesem; zamiast tego należy naprawić niezgodny klucz tajny, nagłówek lub adres URL.
5. Zweryfikuj usługę, a następnie przetestuj integrację
Oficjalny plik Compose definiuje kontrolę stanu http://localhost:8000/info/info.jsonwewnątrz kontenera serwera dokumentów. Sprawdź, czy usługa jest sprawna, używając docker compose ... ps. Możesz również użyć przeglądarki, aby otworzyć publiczną nazwę hosta HTTPS. Działająca strona powitalna Docs wskazuje, że usługa internetowa odpowiada, ale nie testuje wywołań zwrotnych dokumentów z platformy pamięci masowej.
Aby zakończyć sprawdzanie, połącz się ze zgodną platformą, używając publicznego adresu URL Dokumentów i tego samego klucza tajnego JWT. Otwórz testowy plik DOCX, wprowadź niewielką edycję, zapisz go i otwórz ponownie z poziomu platformy. W ten sposób sprawdzisz, czy platforma może połączyć się z Dokumentami i czy Dokumenty mogą zwrócić zapisane zmiany do usługi pamięci masowej. Jeśli strona się załaduje, ale edytor nie otworzy się, sprawdź konsolę przeglądarki, konfigurację proxy WebSocket, umowę JWT i logi serwera. Zachowaj dokument testowy i nie używaj poufnych informacji podczas początkowej konfiguracji.
Strona docelowa Serwera dokumentów powinna zostać załadowana pod skonfigurowaną nazwą hosta przed przeprowadzeniem testu edycji za pośrednictwem połączonej platformy.Zakończ prawdziwym testem zapisywania i ponownego otwierania za pośrednictwem platformy, która będzie przechowywać dokumenty Twoich użytkowników.
Notatki dotyczące operacji i rozwiązywania problemów
Nie wykryto licencji: sprawdź, czy licencja license.licznajduje się w katalogu hosta, który jest faktycznie zamontowany w /var/www/onlyoffice/Data, a następnie sprawdź logi kontenera.
Błędy JWT: porównaj klucz tajny serwera i łącznika, nagłówek i adres URL. Utrzymuj klucz tajny na stabilnym poziomie po ponownym uruchomieniu.
Niepowodzenia uruchamiania bazy danych: sprawdź, czy hasło bazy danych jest takie samo w środowisku PostgreSQL i Document Server.
Dane znikają po odtworzeniu: sprawdź, czy plik Enterprise Compose nadal używa montowania powiązań dla danych i zachowuje nazwany wolumin PostgreSQL. Wykonaj kopię zapasową obu przed aktualizacjami.
Edytor otwiera się, ale nie można zapisać: sprawdź, czy adres URL wywołania zwrotnego platformy jest dostępny z kontenera Docs i czy serwer proxy przekazuje połączenia WebSocket.
Przed zmianą wersji obrazu skorzystaj ze ścieżki aktualizacji właściwej dla przedsiębiorstwa i zapoznaj się z informacjami o wydaniu. Unikaj docker compose down -vtej opcji, chyba że zamierzasz usunąć woluminy zarządzane przez Compose; ta opcja może spowodować usunięcie wskazanego woluminu danych PostgreSQL. Przed aktualizacją utwórz kopię zapasową katalogu danych, logów (jeśli to konieczne) i bazy danych.