Wydanie Server działa w kontenerze i korzysta z bazy PostgreSQL firmy. Poniższe kroki prowadzą od przygotowania obrazu do pierwszego importu, konfiguracji dostępu i aktualizacji. Obraz obsługuje wymagania OpenShift, w tym uruchomienie bez uprawnień root, z dowolnym UID w grupie 0.
Nazwa i rejestr są w mailu z kluczem oraz w manifest.json wydania: <rejestr>/viewer-pro-server:<wersja>. Gdy klaster nie ma dostępu do rejestru zewnętrznego, załaduj obraz z pliku viewer-pro-server-<wersja>.tar do rejestru wewnętrznego:
podman load -i viewer-pro-server-1.4.2.tar
podman tag viewer-pro-server:1.4.2 default-route-openshift-image-registry.apps.firma.local/viewer-pro/viewer-pro-server:1.4.2
podman push default-route-openshift-image-registry.apps.firma.local/viewer-pro/viewer-pro-server:1.4.2
Przygotuj serwer PostgreSQL w wersji 12 lub nowszej, jedną bazę i rolę z prawem tworzenia tabel w schemacie public. Spectrum tworzy strukturę bazy przy pierwszym uruchomieniu i aktualizuje ją podczas uruchamiania kolejnych wersji.
CREATE ROLE viewer_pro LOGIN PASSWORD '...';
CREATE DATABASE viewer_pro OWNER viewer_pro;
Na migawkę dużego środowiska przyjmij orientacyjnie 200 MB przed deduplikacją oraz około 120 MB na każdy z dwóch slotów katalogu kanonicznego. Katalog korzysta z odtwarzalnych tabel UNLOGGED. Opcjonalny plik postgres.yaml uruchamia PostgreSQL w podzie i służy wyłącznie do testów.
Utwórz zasób Secret z adresem bazy, kluczem szyfrującym magazyn sekretów i kluczem licencji. Plik secret.example.yaml jest szablonem — po uzupełnieniu danymi dostępowymi przechowuj go poza repozytorium.
oc new-project viewer-pro
oc create secret generic viewer-pro \
--from-literal=WC_PG_URL='postgres://viewer_pro:HASLO@pg.firma.local:5432/viewer_pro?sslmode=require' \
--from-literal=WEBCON_SECRET_KEY="$(openssl rand -base64 32)" \
--from-literal=WEBCON_LICENSE='WCR1....'
WC_PG_URL - adres połączenia z PostgreSQL, wymagany do uruchomienia wydania Server.WEBCON_SECRET_KEY - klucz sejfu (hasła profili MS SQL, klucze dostawców AI). Zapisz go w menedżerze sekretów: po jego zmianie zapisane hasła są nie do odczytania i trzeba je podać ponownie. Alternatywa: WEBCON_SECRET_KEY_FILE ze ścieżką do zamontowanego pliku.WEBCON_LICENSE - klucz z maila. Alternatywa: WEBCON_LICENSE_FILE, gdy montujesz sekret jako plik.Paczka viewer-pro-openshift-<wersja>.zip zawiera deployment.yaml, service.yaml, route.yaml, secret.example.yaml i kustomization.yaml. Wpisz adres obrazu i nazwę hosta trasy, a następnie uruchom:
cd deploy/openshift
# kustomization.yaml: images[0].newName / newTag; route.yaml: spec.host
oc apply -k .
oc rollout status deploy/viewer-pro
oc get route viewer-pro -o jsonpath='{.spec.host}{"\n"}'
Uruchom jedną replikę. W jej procesie działają harmonogram pobierania konfiguracji i odświeżanie licencji. Blokada w bazie (schedule.lease_until) chroni przed równoczesnym wykonaniem tego samego pobrania, ale standardowe wdrożenie zakłada jeden proces programu.
| element | wartość |
|---|---|
| port kontenera | 8080 (zmienna PORT, OpenShift może nadać inny) |
| readiness / liveness | GET /healthz → 200 z wersją programu |
| użytkownik | nie-root, dowolny UID w grupie 0 (chgrp 0, chmod g=u na katalogach zapisu) |
| zasoby | requests 250m / 512Mi, limits 1 CPU / 2Gi — wartości początkowe; dostosuj je do wielkości konfiguracji i obciążenia |
| trasa | TLS edge albo reencrypt; program obsługuje X-Forwarded-* i ustawia nagłówki bezpieczeństwa (CSP z nonce, HSTS) |
| logowanie | logi JSON na stdout; ograniczenie częstotliwości prób logowania (rate limit) |
docker run -d --name viewer-pro \
-p 8080:8080 \
-e WC_PG_URL='postgres://viewer_pro:HASLO@pg.firma.local:5432/viewer_pro' \
-e WEBCON_SECRET_KEY="$(openssl rand -base64 32)" \
-e WEBCON_LICENSE='WCR1....' \
--restart unless-stopped \
<rejestr>/viewer-pro-server:1.4.2
curl -s http://localhost:8080/healthz
Skonfiguruj przed kontenerem reverse proxy z obsługą TLS, np. nginx, Traefik lub Caddy. To proxy obsługuje szyfrowane połączenie HTTPS.
admin z hasłem tymczasowym wypisanym w logu (oc logs deploy/viewer-pro | grep -i haslo). Zaloguj się i zmień hasło w Uprawnienia → Użytkownicy.Paczki .bpe możesz przesłać w zakładce Import. Program przetworzy je kolejno na serwerze. Alternatywnie skopiuj pliki do kontenera i uruchom import przez oc exec:
oc cp ./eksport/DEV viewer-pro-xxxx:/tmp/dev
oc exec deploy/viewer-pro -- viewer-pro ingest import "/tmp/dev/*.bpe" --workspace "Klient A" --env DEV
Źródła MS SQL skonfiguruj w zakładce Źródła SQL, a harmonogram w Workspace. Program może pobierać konfigurację co określoną liczbę minut (every_minutes) lub o wskazanej godzinie (at_time). Jeśli konfiguracja się nie zmieniła, nie tworzy kolejnej migawki. Wynik „sprawdzone, bez zmian” zapisuje w dzienniku pobrań.
Limity dostępu. Plan dla firmy określa liczbę aktywnych użytkowników, a plan partnerski — liczbę przestrzeni klientów. Po wykorzystaniu limitu program zablokuje dodanie kolejnego konta lub przestrzeni i wyświetli komunikat. Dotychczasowe dane pozostaną dostępne. Definicje aktywnego użytkownika i przestrzeni klienta znajdziesz w tabeli planów, a zasady zmiany planu w instrukcji licencji.
pg_dump -Fc viewer_pro > viewer_pro-przed-1.5.0.dump
oc set image deploy/viewer-pro viewer-pro=<rejestr>/viewer-pro-server:1.5.0
oc rollout status deploy/viewer-pro
Przed zmianą obrazu wykonaj kopię bazy. Nowa wersja aktualizuje jej strukturę przy uruchomieniu, zachowując treść migawek. Powrót do starszego obrazu wymaga przywrócenia kopii sprzed aktualizacji. Sprawdź również, czy nowa wersja mieści się w opłaconym okresie aktualizacji — wersje z tego okresu pozostają dostępne bezterminowo.
https://licencje.viewer-pro.pl (443) raz na dobę - albo WEBCON_LICENSE_OFFLINE=1 i plik dzierżawy;Pełna lista tego, co opuszcza sieć: bezpieczeństwo.