The Server edition runs in a container and uses your company's PostgreSQL database. These steps cover image preparation, first import, access configuration and updates. The image supports OpenShift requirements, including non-root operation with an arbitrary UID in group 0.
The name and registry are in the key email and the release's manifest.json file: <rejestr>/viewer-pro-server:<wersja>. If the cluster cannot access the external registry, load the image from the viewer-pro-server-<wersja>.tar file into your internal registry:
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
Prepare PostgreSQL 16 with a database created using ICU locale pl-PL, one database and a role allowed to create tables in schema public. Check database parameters in the instructions included with the chosen release.
CREATE ROLE viewer_pro LOGIN PASSWORD '...';
CREATE DATABASE viewer_pro OWNER viewer_pro;
Plan storage for configuration, history and backups. Confirm resource sizing during the pilot. The optional file postgres.yaml is for testing only; prepare production databases according to your organisation's operational standards.
Create a Secret with the database URL, secret store encryption key and licence key. The file secret.example.yaml is a template; once filled with credentials, keep it outside the repository.
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 - PostgreSQL connection URL, required to start the Server edition.WEBCON_SECRET_KEY - vault key (MS SQL profile passwords, AI provider keys). Save it in a secret manager: changing it makes stored passwords unreadable and requires re-entry. Alternative: WEBCON_SECRET_KEY_FILE with the path to a mounted file.WEBCON_LICENSE - key from the email. Alternative: WEBCON_LICENSE_FILEwhen mounting the secret as a file.The package viewer-pro-openshift-<wersja>.zip contains deployment.yaml, service.yaml, route.yaml, secret.example.yaml and kustomization.yaml. Set the image URL and route hostname, then run:
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"}'
The standard deployment requires one application replica. Do not increase the replica count without confirming support for that configuration in your chosen edition.
| element | value |
|---|---|
| container port | 8080 (variable PORT; OpenShift may assign another) |
| readiness / liveness | GET /healthz → 200 with software version |
| user | non-root, arbitrary UID in group 0 (chgrp 0, chmod g=u on writable directories) |
| resources | requests 250m / 512Mi, limits 1 CPU / 2Gi — starting values; adjust for configuration size and load |
| route | TLS edge or reencrypt; the application supports X-Forwarded-* and sets security headers (CSP with nonce, HSTS) |
| logging | JSON logs to stdout; sign-in attempt rate limiting |
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
Place a TLS-enabled reverse proxy, such as nginx, Traefik or Caddy, in front of the container. It handles the encrypted HTTPS connection.
Packages .bpe can be uploaded in the Importtab. Alternatively, copy files into the container and run import using 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
Configure MS SQL sources in the SQL sourcestab, and scheduling in Workspace. Choose a retrieval interval or time, and check execution in the retrieval log. Unchanged configuration does not require a new snapshot.
Access limits. The company plan specifies the number of active users; the partner plan specifies client workspaces. At the limit, the software prevents adding another account or workspace and displays a message. Existing data remains accessible. Definitions of an active user and client workspace are in the plan table, and plan change rules in the licensing guide.
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
Back up the database before changing the image. Follow the release instructions. Saved snapshots remain accessible. Returning to an older image requires restoring a pre-update backup. Also check the annual subscription's validity. Non-payment for renewal blocks access after the grace period in the order, even when reverting to an older version.
https://licencje.viewer-pro.pl (443) daily, or WEBCON_LICENSE_OFFLINE=1 and lease file;Full list of data leaving the network: security.