Dodawanie czcionek do serwera dokumentów ONLYOFFICE: Docker kontra Linux

Aby dodać niestandardowe czcionki do serwera dokumentów ONLYOFFICE, umieść pliki licencjonowanych czcionek w katalogu dostępnym dla serwera i uruchom program /usr/bin/documentserver-generate-allfonts.sh. W przypadku wdrożeń Docker, katalog czcionek montowany metodą bind jest zazwyczaj lepszym rozwiązaniem niż kopiowanie plików do działającego kontenera, ponieważ nie ulega on odtworzeniu w kontenerze.

Właściwa metoda instalacji zależy od tego, gdzie działa ONLYOFFICE Docs, jak często go przebudowujesz i czy możesz zaakceptować krótką przerwę w działaniu usługi na czas odświeżenia katalogu czcionek.

Edytor dokumentów ONLYOFFICE z rozwijaną listą czcionek wyświetlającą zainstalowane kroje pisma i przykładowy dokument.
Na liście rozwijanej czcionek edytora wyświetlana jest lista dostępnych rodzin czcionek. Brakujące czcionki można zastąpić zamiennikami do momentu zaktualizowania katalogu czcionek serwera.

Wybierz metodę instalacji czcionek

MetodaNajlepiej dopasowaneKompromis
Montowanie Dockera z powiązaniemKontenery produkcyjne zarządzane za pomocą Docker ComposeWymaga edycji konfiguracji kontenera i może wymagać ponownego uruchomienia
docker cpdo działającego konteneraSzybki test lub dodanie tymczasowePliki mogą zniknąć, gdy kontener zostanie wymieniony
Zainstaluj czcionki na hoście Linux, na którym działa natywny pakiet Serwera dokumentówInstalacja w stylu DEB/RPM bez DockeraWymaga administracji na poziomie serwera i pozostaje powiązany z tym hostem

Oficjalne instrukcje dotyczące czcionek Dockera dokumentują kopiowanie plików i odbudowywanie listy czcionek. Dokumentacja dotycząca montowania z użyciem wiązania (bind mount) w Dockerze wyjaśnia, dlaczego zamontowanie dedykowanego folderu hosta sprawia, że ​​pliki są dostępne w zastępczych kontenerach. To są różne opcje wdrożenia, a nie różne formaty czcionek.

Przygotuj pliki czcionek i potwierdź serwer docelowy

1. Zidentyfikuj aktywne wdrożenie ONLYOFFICE

Uruchom docker psna hoście Dockera, jeśli edytor działa w kontenerach. Znajdź nazwę kontenera Serwera Dokumentów w NAMESkolumnie; w poniższych przykładach użyto onlyoffice-documentserver. Zastąp tę wartość, jeśli Twoja jest inna. Integracja z NextCloud lub ownCloud zazwyczaj nie zmienia faktu, że czcionki muszą być zainstalowane na serwerze ONLYOFFICE Docs, a nie tylko na serwerze pamięci masowej lub komputerze wyświetlającym dokument.

docker ps
Terminal Ubuntu pokazujący docker ps i działający kontener serwera dokumentów ONLYOFFICE.
Przed skopiowaniem czcionek lub ponownym wygenerowaniem katalogu znajdź kontener Serwera dokumentów na liście Docker.

2. Zbierz pliki czcionek objętych licencją

Wybierz kompletne, odpowiednio licencjonowane rodziny czcionek, uwzględniające grubości i style, których faktycznie używają Twoje dokumenty. ONLYOFFICE wymienia formaty TrueType i OpenType, takie jak .ttfi .otf, a także inne obsługiwane rozszerzenia czcionek, w swojej dokumentacji czcionek dla systemu Linux . Aby zapewnić przewidywalność pierwszego wdrożenia, użyj zwykłych plików TTF lub OTF i zweryfikuj dozwolone użycie serwera i klienta w licencji czcionek.

W przykładzie z Dockerem, umieść pliki /srv/onlyoffice/custom-fontsna hoście Dockera. Przykładowe nazwy plików Inter-Regular.ttfi Inter-Bold.ttfmają charakter ilustracyjny; użyj plików, do których instalacji masz prawo.

sudo mkdir -p /srv/onlyoffice/custom-fonts
sudo cp Inter-Regular.ttf Inter-Bold.ttf /srv/onlyoffice/custom-fonts/
sudo chmod 644 /srv/onlyoffice/custom-fonts/*.ttf

Uruchom te polecenia z katalogu zawierającego pliki czcionek. Przed kontynuowaniem sprawdź zawartość folderu. W systemie zarządzanym dostosuj prawa własności i uprawnienia do polityki bezpieczeństwa, zamiast nadawać folderowi prawa zapisu dla wszystkich.

Menedżer plików systemu Linux wyświetlający pliki czcionek zwykłych, pogrubionych i innych w katalogu niestandardowych czcionek.
Przechowuj wszystkie warianty czcionek w jednym, dedykowanym katalogu, aby można je było zamontować w kontenerze Serwera dokumentów.

Zalecane dla Dockera: trwałe montowanie katalogu czcionek

3. Dodaj montowanie powiązania do istniejącej usługi Compose

W bieżącym pliku Compose znajdź usługę, która uruchamia obraz serwera dokumentów ONLYOFFICE. Dodaj następujący wpis do istniejącej volumeslisty; zachowaj pozostałe woluminy, porty, poświadczenia i zmienne środowiskowe, które zostały już skonfigurowane:

services:
  onlyoffice-documentserver:
    volumes:
      - /srv/onlyoffice/custom-fonts:/usr/share/fonts/truetype/custom:ro

Ścieżka źródłowa znajduje się na hoście Dockera, a docelowa w kontenerze. :roSufiks ogranicza zapisy kontenera do katalogu czcionek. Montuj dedykowany customkatalog zamiast zastępować całe /usr/share/fontsdrzewo, co mogłoby ukryć czcionki dostarczone przez obraz. Oficjalny plik Dockerfile ONLYOFFICE deklaruje niestandardowy katalog czcionek TrueType jako wolumin w etapach obrazu Community i Enterprise.

Przejrzyj poprawioną konfigurację Compose, a następnie zastosuj ją docker compose up -dz katalogu projektu. To może ponownie utworzyć usługę: zaplanuj zmianę, kiedy redaktorzy będą mogli bezpiecznie zamykać dokumenty. Jeśli używasz prostego docker runwdrożenia, dodaj równoważny --mount type=bind,src=/srv/onlyoffice/custom-fonts,dst=/usr/share/fonts/truetype/custom,readonlyargument „read-only” podczas ponownego tworzenia kontenera.

Edytor kodu pokazujący wpis woluminów Docker Compose mapujący folder hosta custom-fonts na ONLYOFFICE.
Dedykowany wpis woluminu tylko do odczytu oddziela pliki czcionek niestandardowych od obrazu kontenera.

4. Sprawdź, czy kontener widzi pliki czcionek

Po uruchomieniu usługi sprawdź zamontowany katalog i, jeśli jest dostępny, listę fontconfig. Nazwa rodziny zgłoszona przez fontconfig może różnić się od nazwy pliku.

docker exec onlyoffice-documentserver ls -l /usr/share/fonts/truetype/custom
docker exec onlyoffice-documentserver fc-list | grep -i 'Inter'

W przypadku przykładowych czcionek Inter, drugie polecenie powinno wyświetlić pasującą rodzinę, jeśli fontconfig je wykryje. Jeśli pliki istnieją, ale rodzina się nie pojawia, sprawdź uprawnienia i uruchom polecenie docker exec onlyoffice-documentserver fc-cache -f, a następnie sprawdź fc-listponownie. Samo wykrycie fontconfig nie wypełnia menu edytora ONLYOFFICE.

Terminal pokazujący polecenie docker exec fc-list wyszukujące czcionkę Inter zainstalowaną w katalogu czcionek niestandardowych.
Sprawdzenie fontconfig pozwala oddzielić nieczytelny lub brakujący plik czcionki od nieaktualnego katalogu czcionek ONLYOFFICE.

5. Wygeneruj ponownie katalog czcionek ONLYOFFICE

Po umieszczeniu plików w kontenerze uruchom skrypt generujący czcionki na serwerze dokumentów:

docker exec onlyoffice-documentserver /usr/bin/documentserver-generate-allfonts.sh

ONLYOFFICE używa tego kroku do odświeżania danych wyboru czcionek i zasobów. Może to wpłynąć na aktywne usługi edytora, dlatego należy go uruchomić w odpowiednim okresie konserwacji. Udokumentowana zmienna środowiskowa Dockera GENERATE_FONTSrównież ma wartość domyślną true, co oznacza, że ​​dane czcionek są ponownie generowane podczas uruchamiania kontenera. Jest to przydatne po ponownym uruchomieniu, ale nie zastępuje instalacji plików w stałej lokalizacji.

Nie zmieniaj GENERATE_FONTSani nie wymuszaj ponownego uruchomienia wyłącznie w celu zamaskowania brakującego woluminu. Najpierw sprawdź, czy oczekiwane pliki są rzeczywiście zamontowane.

Terminal wyświetlający polecenie documentserver-generate-allfonts.sh i komunikat o generowaniu katalogu czcionek.
Uruchom skrypt generowania czcionek na serwerze dokumentów po uzyskaniu przez kontener dostępu do nowych plików czcionek.

Alternatywy: tymczasowa kopia Dockera lub natywny Linux

6. Użyj bezpośredniej kopii kontenera do krótkotrwałego testu

Jeśli nie możesz od razu zmienić Compose, skopiuj plik do bieżącego kontenera i przebuduj katalog. Jest to zgodne z udokumentowanym podejściem Dockera w ONLYOFFICE i pozwala uniknąć przebudowy kontenera w celu szybkiego testu:

docker cp ./Inter-Regular.ttf onlyoffice-documentserver:/usr/share/fonts/truetype/custom/
docker exec onlyoffice-documentserver /usr/bin/documentserver-generate-allfonts.sh

Jest to wygodne w rozwiązywaniu problemów, ale mniej niezawodne jako plan wdrożenia. Aktualizacja obrazu lub nowy kontener mogą usunąć skopiowany plik; ponowne uruchomienie tego samego kontenera nie jest tym samym, co odtworzenie . Przenieś pomyślnie zakończony test do montowania z powiązaniem lub osobno utrzymywanego obrazu niestandardowego, gdy czcionka jest potrzebna do bieżącej pracy.

7. Zainstaluj bezpośrednio na niekontenerowym serwerze dokumentów Linux

W przypadku instalacji natywnego pakietu Linux, należy umieścić pliki w katalogu czcionek systemowych serwera i uruchomić ten sam skrypt regenerujący na tym hoście. Nie jest to polecenie do uruchomienia na komputerze zwykłego użytkownika.

sudo install -d -m 755 /usr/share/fonts/truetype/custom
sudo install -m 644 Inter-Regular.ttf /usr/share/fonts/truetype/custom/
sudo /usr/bin/documentserver-generate-allfonts.sh

To podejście pozostawia pliki czcionek w instalacji Linuksa zamiast na woluminie Dockera, ale administratorzy muszą je zachować w zarządzaniu konfiguracją lub kopiach zapasowych podczas odbudowy hosta. Zapoznaj się z oficjalną procedurą ONLYOFFICE Linux dla serwera z zainstalowanym pakietem. Jeśli edytorzy korzystają z więcej niż jednego węzła serwera dokumentów, na każdym węźle należy skonfigurować tę samą rodzinę i warianty.

Terminal Linux pokazujący czcionkę Inter skopiowaną do katalogu czcionek systemowych, a następnie polecenie regeneracji czcionek ONLYOFFICE.
Na natywnym serwerze dokumentów Linux zainstaluj czcionkę na tym serwerze i ponownie wygeneruj jej katalog czcionek bez poleceń Dockera.

8. Sprawdź czcionkę w rzeczywistym dokumencie

Otwórz nową sesję edycji w aplikacji połączonej z Serwerem Dokumentów. W testowym pliku DOCX wybierz zainstalowaną rodzinę czcionek z listy rozwijanej, wprowadź wiersz tekstu normalnego, pogrubionego i reprezentatywne znaki spoza języka angielskiego, jeśli czcionka jest przeznaczona do użytku wielojęzycznego. Zapisz, zamknij, otwórz ponownie i wyeksportuj do pliku PDF. Porównaj szerokość tekstu, zawijanie wierszy, pokrycie glifów oraz warianty pogrubienia/kursywy ze znanym dokumentem referencyjnym.

Jeśli czcionka nie znajduje się na liście rozwijanej, sprawdź ścieżkę serwera, dane wyjściowe polecenia fc-listoraz polecenie generowania katalogu (w tej kolejności). Jeśli rodzina jest widoczna, ale układ się zmienia, sprawdź, czy dokument żąda dokładnej rodziny i czy istnieją wymagane grubości; w przeciwnym razie edytor może podmienić czcionkę na inną. Samo zainstalowanie czcionki na komputerze użytkownika nie powoduje jej dodania do serwera.

Istnieje jedno zastrzeżenie dotyczące konkretnej wersji przeglądarki: instrukcje dotyczące czcionek w ONLYOFFICE zalecają wyczyszczenie pamięci podręcznej przeglądarki i ponowne otwarcie edytora w wersji 8.1.3 lub starszej . W nowszych wersjach ten dodatkowy krok nie jest wymagany. Jeśli Twoja instalacja jest starsza, skorzystaj z udokumentowanego kroku dotyczącego pamięci podręcznej przed zbadaniem bardziej złożonych przyczyn.

Edytor ONLYOFFICE z wybraną opcją Inter na liście rozwijanej czcionek i przykładowym akapitem wykorzystującym tę rodzinę czcionek.
Sprawdź, czy rodzina czcionek jest widoczna w menu, a następnie otwórz ponownie zapisany dokument i porównaj sposób zawijania wierszy oraz renderowane glify.

Poprawkę potwierdza się, gdy rodzina niestandardowa pozostaje dostępna do wyboru po ponownym otwarciu edytora, zapisany dokument renderuje się poprawnie, a – w przypadku Dockera – czcionki nadal istnieją po ponownym utworzeniu usługi z tej samej konfiguracji. Jeśli jedno z tych sprawdzeń się nie powiedzie, należy zbadać tę warstwę, zamiast wielokrotnie kopiować czcionki do kontenera.

Zostaw komentarz

Ustaw publiczny adres URL NextCloud, aby mógł się do siebie dodzwonić

Napraw ostrzeżenie Nextcloud o brakującym adresie wychodzącym, ustawiając jego kanoniczny adres URL i sprawdzając routing DNS, HTTPS i odwrotnego serwera proxy na samym serwerze.

Konfigurowanie buforowania Nextcloud Redis w systemie Ubuntu 24.04

Konfigurowanie buforowania Nextcloud Redis w systemie Ubuntu 24.04

Skonfiguruj APCu i Redis przez lokalne gniazdo Unix na potrzeby buforowania i blokowania plików w usłudze Nextcloud, wraz z instrukcjami dla bieżących i starszych wersji usługi Nextcloud.

Uruchom automatycznie Nextcloud Cron za pomocą timera Systemd

Sprawdź tryb cron Nextcloud, napraw usługę systemd i timer oraz zweryfikuj, czy zadania w tle są uruchamiane po uruchomieniu i co pięć minut.

Usuń ostrzeżenie o blokowaniu plików w NextCloud za pomocą Redis

Włącz niezawodne blokowanie plików Nextcloud, wybierz odpowiedni serwer Redis lub Valkey i sprawdź, czy ostrzeżenie zostanie usunięte bez ryzyka równoczesnych zmian w plikach.

Co jest potrzebne, aby uzyskać ocenę bezpieczeństwa Nextcloud A+

Co jest potrzebne, aby uzyskać ocenę bezpieczeństwa Nextcloud A+

Napraw typowe błędy skanowania Nextcloud dzięki bieżącym aktualizacjom, protokołom HTTPS i HSTS, precyzyjnemu zaufaniu do odwrotnego serwera proxy i sprawdzeniu względem serwera publicznego.

Włącz szyfrowanie po stronie serwera Nextcloud z mierzalnym wpływem

Skonfiguruj Nextcloud SSE dla pamięci masowej, która tego wymaga, chroń klucze szyfrujące i zmierz wpływ transferu i procesora przed zaszyfrowaniem istniejących plików.

Dodaj wyszukiwanie pełnotekstowe Elasticsearch do NextCloud

Połącz wyszukiwarkę plików Nextcloud z Elasticsearch, zindeksuj zawartość dokumentów i wybierz konfigurację odpowiadającą Twoim potrzebom w zakresie serwera i bezpieczeństwa.

Ustaw niezawodną politykę wygasania dla usuniętych plików w usłudze NextCloud

Ustaw niezawodną politykę wygasania dla usuniętych plików w usłudze NextCloud

Skonfiguruj Nextcloud tak, aby usuwał usunięte pliki po upływie określonego czasu przechowywania, niezawodnie planował zadania w tle i unikał poleceń, które usuwają śmieci każdego użytkownika.

Ostrzeżenie o braku indeksów bazy danych NextCloud

Ostrzeżenie o braku indeksów bazy danych NextCloud

Wykonaj bezpieczną naprawę OCC w Nextcloud, przejrzyj zmiany w bazie danych i sprawdź, dlaczego ostrzeżenie może nadal się pojawiać.

Zwiększ limit przesyłania danych do sieci w NextCloud powyżej 2 GB

Zwiększ limit przesyłania danych do sieci w NextCloud powyżej 2 GB

Zezwól na przesyłanie większych plików przez przeglądarkę Nextcloud, dostosowując ustawienia PHP, Nginx lub Apache, tymczasowego miejsca przechowywania i limitu czasu — i sprawdź, który limit blokuje plik.