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

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Zautomatyzuj spójne kopie zapasowe Nextcloud za pomocą Restic i Cron

Twórz kopie zapasowe plików Nextcloud i MariaDB, planuj zaszyfrowane migawki Restic za pomocą cron i weryfikuj odzyskiwanie bez narażania serwera na ryzyko.

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Tworzenie kopii zapasowej i przywracanie skrzynki pocztowej Zimbra CE za pomocą eksportów TGZ

Eksportuj pojedynczą skrzynkę pocztową Zimbra Community Edition, sprawdzaj poprawność kopii zapasowej TGZ i przywracaj brakujące elementy bez nadpisywania istniejącej poczty.

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Umożliw zatwierdzonym użytkownikom tworzenie pokoi Jitsi z logowaniem przez Keycloak

Zezwalaj tylko zatwierdzonym kontom na otwieranie pokoi Jitsi Meet przy użyciu Keycloak i uwierzytelniania tokenem, jednocześnie zapewniając możliwość dołączania gościom, gdy będzie to potrzebne.

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Synchronizuj użytkowników usługi Active Directory z usługą ONLYOFFICE DocSpace za pośrednictwem protokołu LDAP

Połącz ONLYOFFICE DocSpace z usługą Active Directory lub OpenLDAP, bezpiecznie importuj użytkowników i grupy, mapuj pola kont i planuj niezawodną synchronizację.

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

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

Zainstaluj niestandardowe czcionki w serwerze dokumentów ONLYOFFICE, porównaj trwałe instalacje Docker z kopiami bezpośrednimi, utwórz ponownie listę czcionek i zweryfikuj wynik.

Debian 12 na serwerze VPS z małą ilością pamięci RAM: Jak ograniczyć awarie MySQL spowodowane brakiem pamięci (OOM)

Debian 12 na serwerze VPS z małą ilością pamięci RAM: Jak ograniczyć awarie MySQL spowodowane brakiem pamięci (OOM)

Diagnozuj błędy OOM MySQL w systemie Debian 12, sprawdzaj limity pamięci VPS, konfiguruj wymianę oraz dostosowuj pamięć i współbieżność bazy danych, nie obiecując przy tym uniwersalnego rozwiązania.

Umieść dokumenty ONLYOFFICE w HAProxy bez przerywania edycji

Umieść dokumenty ONLYOFFICE w HAProxy bez przerywania edycji

Skonfiguruj protokół HAProxy HTTPS, przekazywanie nagłówków, limity czasu WebSocket i kontrole kondycji dla dokumentów ONLYOFFICE, a następnie zweryfikuj edycję i zapisy.

Instalacja i podpisywanie niestandardowych modułów jądra w bezpiecznym rozruchu SLES 15

Instalacja i podpisywanie niestandardowych modułów jądra w bezpiecznym rozruchu SLES 15

Załaduj niestandardowy moduł jądra SLES 15 bez wyłączania funkcji Secure Boot. Dopasuj uruchomiony moduł jądra, podpisz plik .ko, zarejestruj klucz MOK i zweryfikuj ładowanie.

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Wysyłaj logi systemu SLES do zdalnego kolektora rsyslog za pośrednictwem uwierzytelnionego protokołu TLS, z kontrolą certyfikatów, buforowaniem przerw i testami dostarczania.

Uruchamianie systemu Ubuntu Server w trybie awaryjnym: przewodnik ratunkowy krok po kroku

Uruchamianie systemu Ubuntu Server w trybie awaryjnym: przewodnik ratunkowy krok po kroku

Bezpieczna diagnostyka trybu awaryjnego Ubuntu Server. Odczytaj logi rozruchu, sprawdź montowania roota i fstab, napraw uszkodzoną jednostkę, obsłuż błędy systemu plików i zweryfikuj czysty restart.