Jak dodać niestandardowe czcionki do Collabora Online CODE Docker
Aby udostępnić niestandardowy krój czcionki w aplikacji Collabora Online CODE (Collabora Online Development Edition) działającej w Dockerze, pliki czcionek muszą być dostępne dla samego kontenera Collabora. Zainstalowanie ich tylko na hoście Dockera lub w oddzielnym kontenerze Nextcloud nie udostępnia ich serwerowi biurowemu. W przypadku pojedynczego wdrożenia Compose, montowanie powiązań tylko do odczytu jest zazwyczaj najprostszą opcją; niestandardowy obraz jest łatwiejszy do odtworzenia w zarządzanej flocie, a zdalna konfiguracja czcionek może scentralizować dostarczanie, jeśli można ją obsługiwać bezpiecznie.
Dokładne katalogi czcionek mogą się różnić w zależności od obrazu i wersji. Obecne wdrożenie Helm w Collabora montuje czcionki niestandardowe zarówno w , /usr/share/fonts/customjak i /opt/cool/systemplate/usr/share/fonts/custom. Jest to przydatne odniesienie do obu lokalizacji, ale nie gwarantuje to działania dla każdego samodzielnego tagu Dockera. Sprawdź ścieżki w obrazie, który faktycznie uruchamiasz, przed wdrożeniem poniższego przykładu.
Która metoda instalacji czcionek jest najlepsza dla Twojego wdrożenia?
Dokonaj wyboru na podstawie liczby instancji CODE, które utrzymujesz, sposobu wdrażania aktualizacji i tego, czy możesz obsługiwać bezpieczny host czcionek.
Metoda
Najlepiej pasuje
Kompromis
Montowanie tylko do odczytu
Jeden host Compose lub mała instalacja
Łatwa aktualizacja bez konieczności przebudowy, ale każdy host wymaga tych samych plików i zgodnych ścieżek kontenerów.
Niestandardowy obraz Dockera
CI/CD, powtarzalne wdrożenia lub kilka zarządzanych hostów
Czcionki są wersjonowane wraz z obrazem, ale zmiana czcionki oznacza jej ponowne utworzenie i ponowne wdrożenie.
Zdalna konfiguracja czcionek
Kilka przypadków wymagających centralnie zarządzanego katalogu
Dostarczanie centralne wiąże się z zależnością od usług i sieci; użytkowanie produkcyjne wymaga protokołu HTTPS i wzmocnienia operacyjnego.
Jeśli instalujesz Collabora z wykresem Helm, najpierw sprawdź ustawienia wykresu deployment.customFonts: wykres źródłowy oferuje już opcję montowania czcionek niestandardowych. W przypadku samodzielnej konfiguracji Docker Compose, kontynuuj montowanie z powiązaniem, jeśli ścieżki do obrazów są zgodne.
Format czcionki: Użyj plików czcionek obsługiwanych przez konfigurację Collabora. Oficjalny projekt serwera czcionek Collabora dokumentuje pliki TrueType ( .ttf) i OpenType ( )..otf
Licencja: Upewnij się, że licencja na czcionki zezwala na ich używanie po stronie serwera i dystrybucję wśród użytkowników. Nie kopiuj czcionek z systemu operacyjnego komputera stacjonarnego, chyba że licencja na to zezwala.
Nazwa rodziny: Nazwa wyświetlana w menu czcionek pochodzi z wewnętrznych metadanych czcionki, które mogą różnić się od nazwy pliku. Przetestuj, używając nazwy rodziny, a nie tylko nazwy pliku.
Wszystkie instancje: Jeśli serwer proxy kieruje użytkowników do wielu kontenerów Collabora, zainstaluj te same pliki czcionek na każdej instancji. W przeciwnym razie ten sam dokument może renderować się inaczej w zależności od serwera, na którym jest otwierany.
Dokładne ścieżki do obrazów: Sprawdź katalogi uruchomionego obrazu i konfigurację startową. Nie używaj bezmyślnie starszych ścieżek, takich jak /opt/loolścieżki z niepowiązanego pakietu.
Utwórz katalog hosta, taki jak ./fontsobok pliku Compose, i umieść w nim dozwolone pliki .ttflub .otf. Ogranicz katalog do czcionek, które zamierzasz udostępnić za pośrednictwem Collabora.
Folder czcionek po stronie hosta i plik Compose przed dodaniem katalogu do usługi Collabora.
Jak dodać czcionki za pomocą Docker Compose?
Dodaj dwa wpisy woluminów tylko do odczytu do volumeslisty istniejącej usługi Collabora. Zachowaj aktualny obraz usługi, porty, zmienne środowiskowe i inne ustawienia; jest to dodatek, a nie zastępczy plik Compose.
Katalog źródłowy po lewej stronie znajduje się na hoście Dockera. Ścieżki po prawej stronie znajdują się wewnątrz kontenera. :roSufiks sprawia, że pliki są dostępne tylko do odczytu dla kontenera. Te ścieżki docelowe są zgodne z aktualnym szablonem Helm platformy Collabora; w przypadku samodzielnego CODE Dockera należy najpierw sprawdzić dokładny tag. Jeśli któraś z lokalizacji jest niedostępna lub wydanie korzysta z innych katalogów, należy użyć ścieżek obsługiwanych przez ten obraz, zamiast wymuszać ten przykład.
Przykładowe mapowanie woluminów wysyła ten sam katalog czcionek hosta do obu lokalizacji czcionek w serwerze Collabora.
Zastosuj zmianę „Utwórz” w okresie ciszy, ponieważ ponowne utworzenie usługi Collabora może przerwać aktywne sesje edycji. Jeśli Twoja usługa ma nazwę collabora, uruchom:
docker compose up -d collabora
Użyj rzeczywistej nazwy usługi Compose, jeśli jest inna. Unikaj restartu całego stosu, chyba że inne usługi również wymagają zmiany konfiguracji.
Jak można sprawdzić, czy kontener widzi pliki?
Najpierw sprawdź, czy zamontowane katalogi zawierają pliki czcionek. Zastąp je collaboranazwą kontenera użytą w konfiguracji:
docker exec collabora ls /usr/share/fonts/custom
docker exec collabora ls /opt/cool/systemplate/usr/share/fonts/custom
Przykładowe polecenie weryfikacyjne: wyświetl obie zamontowane ścieżki w działającym kontenerze Collabora.
Wyświetlenie plików potwierdza montaż Dockera, ale nie dowodzi, że edytor załadował czcionkę. Jeśli obraz zawiera narzędzia Fontconfig, możesz sprawdzić wykryte nazwiska rodzin za pomocą fc-list, na przykład:
docker exec collabora fc-list : family file
Przefiltruj dane wyjściowe dla oczekiwanej rodziny, korzystając z narzędzia dostępnego w kontenerze. Jeśli fc-listnie jest zainstalowane, nie dodawaj pakietów do działającego kontenera jako trwałego rozwiązania; sprawdź konfigurację czcionek obrazu lub użyj odtwarzalnego obrazu niestandardowego. Jeśli pliki są widoczne, ale nie zostały wykryte, sprawdź uprawnienia, format pliku, wewnętrzne metadane rodziny oraz obie ścieżki montowania. Następnie sprawdź w logach, jaki obraz i wersję wdrożyłeś.
Jak przetestować czcionkę w Collabora Online?
Otwórz lub utwórz dokument testowy za pośrednictwem standardowej integracji, która uruchamia edytor Collabora.
Otwórz menu rodziny czcionek i poszukaj wewnętrznej nazwy rodziny czcionki.
Wybierz go, wpisz krótki fragment, zapisz, zamknij i ponownie otwórz dokument.
Jeśli wdrożenie obejmuje wiele instancji Collabora, sprawdź ten sam dokument z poziomu innego użytkownika lub przeglądarki.
Poniższy przykład ilustruje oczekiwany rodzaj sprawdzenia: rodzina czcionek pojawia się w menu edytora. Nie jest to przechwycenie z wdrożenia CODE na żywo, a pasek narzędzi może się różnić w zależności od wersji lub integracji.
Przykład kroku weryfikacji: potwierdzenie, że zamierzona rodzina czcionek pojawia się w menu czcionek edytora.
Jeśli rodzina jest widoczna, ale tekst jest renderowany w czcionce zastępczej, upewnij się, że wybrany krój i grubość istnieją (na przykład regular i bold) oraz że czcionka znajduje się w ścieżce systemplate, a także w ogólnym katalogu czcionek. Sam wpis w menu nie stanowi dowodu, że każdy styl lub każdy serwer ma daną czcionkę.
Kiedy warto skorzystać z usługi zdalnego zarządzania obrazami i czcionkami?
Zbuduj niestandardowy obraz zapewniający powtarzalność
Plik Dockerfile, który kopiuje zatwierdzone pliki czcionek do ścieżek używanych przez wybrany obraz CODE, ułatwia reprodukcję wdrożeń: skrót obrazu identyfikuje zarówno kompilację serwera, jak i jego zestaw czcionek. Koszt to przebudowa, skanowanie i wdrożenie za każdym razem, gdy aktualizujesz czcionkę lub obraz bazowy. Po aktualizacji obrazu bazowego sprawdź ponownie katalogi docelowe i unikaj traktowania instrukcji kopiowania czcionek jako uniwersalnej dla wszystkich wersji CODE.
Użyj zdalnej konfiguracji czcionek dla współdzielonego katalogu
Projekt serwera czcionek Collabora opisuje zdalną konfigurację czcionek i katalog JSON. Jego opiekunowie oznaczają to repozytorium jako przeznaczone do celów programistycznych i testowych, dlatego nie należy traktować serwera przykładowego jako usługi gotowej do produkcji. W środowisku produkcyjnym należy używać prawidłowo utrzymywanego punktu końcowego HTTPS, ograniczać i weryfikować obsługiwane przez niego czcionki oraz uwzględniać dostępność sieci i odświeżanie pamięci podręcznej. Ten wybór może zmniejszyć konieczność zarządzania plikami na hoście, ale dodaje usługę, której awaria lub zmiana konfiguracji może wpłynąć na dostępność czcionek.
W przypadku jednego kontenera CODE zarządzanego za pomocą Docker Compose, zacznij od montowania powiązania tylko do odczytu: jest ono proste do wycofania i nie wymaga niestandardowej kompilacji. W przypadku floty utrzymywanej za pomocą CI/CD, preferuj niestandardowy obraz, jeśli chcesz, aby każde wdrożenie zawierało jawny, możliwy do weryfikacji zestaw czcionek. Rozważ zdalną konfigurację czcionek tylko wtedy, gdy centralna dystrybucja przynosi znaczące korzyści operacyjne i możesz zapewnić bezpieczną i niezawodną usługę HTTPS. W każdym przypadku zweryfikuj ścieżki i przetestuj czcionkę w rzeczywistym dokumencie po wdrożeniu; sama lista czcionek hosta nie jest w stanie potwierdzić, że Collabora ją załadowała.