1. Hjem
  2. /
  3. Aktuelt
  4. /
  5. Installere WikiJS i OpenShift

WikiJS-installasjon på OpenShift / OKD 4

WikiJS-installasjon på OpenShift / OKD 4

Hos Binero Group jobber vi hver dag med å forbedre leveransen av programvare. Selskapet har åpen kildekode i blodet, og derfor prøver vi å gi tilbake så mye som mulig av det vi utvikler til våre kunder og klienter.

I vår søken etter en Kubernetes-basert Wiki kom vi over WikiJS, en moderne Wiki som støtter markdown-filer og flere lagringsbackender som git og PostgreSQL.
Nettstedet gir informasjon om installering på Kubernetes, men OpenShift har noen ekstra sikkerhetsfunksjoner som må tas i betraktning når man installerer programvare på det.

Hvis du foretrekker å gå rett til koden og en kort forklaring, finner du Git-repositoriet her med en referanse til forfatteren som startet arbeidet, men les gjerne litt videre hvis du vil lære mer om begrunnelsen bak oppsettet.

Først og fremst liker vi å bruke produkter som har en stor installasjonsbase og et høyt automatiseringsnivå, slik at arbeidet med å vedlikeholde programvaren holdes på et minimum: vi liker å fokusere så mye som mulig på effektiv bruk og dra nytte av mulighetene Kubernetes har til dette. Av den grunn velger vi å bruke Crunchy Data Postgres Operator for å installere PostgreSQL som lagringsbackend for WikiJS, da dette er den som støttes best.

Deretter viser vi hvordan du bygger et Docker-bilde som kan legges til et internt arkiv etter behov og brukes til en såkalt sideloading-modus, noe som betyr at filene som installasjonen trenger, er pakket i containeren, slik at det ikke er behov for internettforbindelse for å hente filene når du gjør initialiseringen. Bildet er offentlig tilgjengelig på Docker Hub og oppdateres for øyeblikket manuelt – dette kan endres i fremtiden, og vi anbefaler at du setter opp byggingen selv for å ha den nyeste versjonen som kreves.

La oss komme i gang!

WikiJS i Openshift / OKD 4

Hvordan installere WikiJS i Openshift 4 (ved hjelp av sideloading-modus)

Forutsetninger:

  • Kjører Openshift eller OKD-klynge med permanent lagringsoppsett
    Eksemplene gjelder alle OKD- eller OpenShift 4-klynger. Skjermbildene er hentet fra OKD som kjører på CRC (nå OpenShift local) som beskrevet her.
1. Opprett et prosjekt:
oc new-project wikijs

Alternativt kan du gå til https://console-openshift-console.apps-crc.testing/k8s/cluster/projects og klikke på Opprett prosjekt og gi det navnet wikijs:

Hvordan opprette et prosjekt i wiki.js i OpenShift

2. Installer Crunchy Postgres for Kubernetes-operatøren fra OperatorHub eller følg instruksjonene her:

https://access.crunchydata.com/documentation/postgres-operator/v5/quickstart/

Velg alle navnerom hvis du vil at det skal kunne brukes i mer enn ett, hvis ikke, bruk wikijs-navnerommet som vi opprettet tidligere.

Installere Crunchy Postgres for Kubernete-operatøren wiki.js i OpenShift

3. Installer Postgres DB som følger, og sørg for at oc-kommandoen bruker riktig kontekst. Endre verdiene om nødvendig – for øyeblikket er det 20 GB.
oc apply -f postgres.yaml
4. Nå bør du ha en PostgresCluster CR under fanen under installerte operatører:

PostgresCluster CR wiki.js in OpenShift

Du bør kunne koble til fra den lokale maskinen med psql på følgende måte (sørg for at psql er installert):

PG_CLUSTER_PRIMARY_POD=$(oc get pod -n wikijs -o name -l postgres-operator.crunchydata.com/cluster=wikijs,postgres-operator.crunchydata.com/role=master)

kubectl -n wikijs port-forward "${PG_CLUSTER_PRIMARY_POD}" 5432:5432 &

PG_CLUSTER_USER_SECRET_NAME=wikijs-pguser-wikijs
PGPASSWORD=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.password | base64decode}}') PGUSER=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.user | base64decode}}') PGDATABASE=$(kubectl get secrets -n wikijs "${PG_CLUSTER_USER_SECRET_NAME}" -o go-template='{{.data.dbname | base64decode}}') psql -h localhost

Du bør få et skall som viser at tilkoblingen bruker TLS, som er standard for denne operatøren.

5. For meg fungerte det ikke å koble WikiJS til PostgreSQL med SSL. Jeg måtte legge til CA-sertifikatet som beskrevet i dokumentasjonen:

(DB_SLL_CA - Database CA certificate content, as a single line string (without spaces or new lines), without the prefix and suffix lines. (optional, requires 2.3+))

Dette er lagret i pgo-root-cacert-hemmeligheten. Kjør skriptet for å få det i riktig format:

./getPsqlRootCAString.sh

Det vil gi noe slikt som:

MIIBgTCCASegAwIBAgIQFlUx8CFOhxtbNv8baQQh7jA
KBggqhkjOPQQDAzAfMR0wGwYDVQQDExRwb3N0Z3
Jlcy1vcGVyYXRvci1jYTAeFw0yMjExMjUxMjM1NDNaFw
0zMjExMjIxMzM1NDNaMB8xHTAbBgNVBAMTFHBvc3
RncmVzLW9wACBhdG9yLWNhMFkwEwNHKoZIzj0CA
QYIKoZIzj0DAQcDQgAElokygIJH/U06gVTTQRZB0B1
cdSV8bP/HWVJ7BYOhcuOUymQsPnKDg27DgQSa9z
VVLADHf24vuMg8Uo/NDfjaf6NFMEMwDgYDVR0PAQ
H/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFN/HmCEkp7HKceaU/QACugp4tu/
LMAoGCCqGSM49BAMDA0gAMEUCIQC/qZJx55pqz
B0QmSRL6UmhnSeUl85rf2+X3eods2miKgIgM3swV3
UuTMgdDm8scsW1aDwhkPpCkwOXbaM0mX2jDvM=

Legg dette til deploymentConfig.yaml, utdrag:

- name: DB_SSL_CA
value:
MIIBgTCCASegAwIBAgIQFlUx8CFOhxtbNv8baQQh7jA
KBggqhkjOPQQDAzAfMR0wGwYDVQQDExRwb3N0Z3
Jlcy1vcGVyYXRvci1jYTAeFw0yMjExMjUxMjM1NDNaFw
0zMjExMjIxMzM1NDNaMB8xHTAbBgNVBAMTFHBvc3
RncmVzLW9wACBhdG9yLWNhMFkwEwNHKoZIzj0CA
QYIKoZIzj0DAQcDQgAElokygIJH/U06gVTTQRZB0B1
cdSV8bP/HWVJ7BYOhcuOUymQsPnKDg27DgQSa9z
VVLADHf24vuMg8Uo/NDfjaf6NFMEMwDgYDVR0PAQ
H/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAw
HQYDVR0OBBYEFN/HmCEkp7HKceaU/QACugp4tu/
LMAoGCCqGSM49BAMDA0gAMEUCIQC/qZJx55pqz
B0QmSRL6UmhnSeUl85rf2+X3eods2miKgIgM3swV3
UuTMgdDm8scsW1aDwhkPpCkwOXbaM0mX2jDvM=

Nå er vi klare til å distribuere det.

6. Distribusjonsfilen inneholder en referanse til Docker-bildet som forfatteren av den nevnte referansen har laget. Som nevnt kan dette bygges fra Dockerfile-filen som er inkludert.

For enkelhets skyld kan vi bruke det bildet, bruke ditt eget, bygge bildet og merke det:
docker build -t yourusername/repository-name .

Jeg brukte Docker Hub:

docker build -t vgerris/wikijs:2 .

deretter skyver du den til ønsket register og oppdaterer referansen i distribusjonsfilen
mer informasjon : https://docs.docker.com/engine/reference/commandline/push/

docker push vgerris/wikijs:2

Nå kan du bruke distribusjonen:

oc apply -f deploymentConfig.yaml
7. Nå som appen er distribuert, kan vi legge til en tjeneste og en rute for å eksponere den. Oppdater rutefilen med server-URL-en din:
oc apply -f service.yaml
oc apply -f route.yaml

Du bør nå ha applikasjonen kjørende og eksponert på ruten, og du kan fullføre konfigurasjonen.

Kos deg med WikiJS!

Valgfritt
Hvis du har en eksisterende samling av Markdown-filer (MD), kan det være nyttig å legge dem til i wiki. Mer informasjon om hvordan du konfigurerer dette når det er lagret i git, finner du her.
Filene blir indeksert og lagt til WikiJS, og kan redigeres direkte med Markdown-redigeringsprogrammet. Som en bonus har WikiJS et diagram-plugin som gjør det veldig enkelt å legge til draw.io-baserte diagrammer direkte i dokumentene.

Det er også ganske enkelt å konfigurere OpenID-tilkobling med for eksempel Keycloak.
Gå til administrasjon, velg autentisering, legg til strategi og velg Keycloak.
Opprett en klient i Keycloak og fyll ut de obligatoriske feltene.
Deaktiver gjestebrukeren hvis du ikke ønsker at den skal være offentlig, se:
https://docs.requarks.io/groups ( Privat Wiki)

Binero Group leverer OKD på toppen av Binero-skyen og også en fullt støttet Red Hat OpenShift Container Platform som en hostet eller fullt administrert løsning, på svenske datasentre, i samsvar med GDPR.

Prøv Binero Cloud og kontakt oss hvis du har spørsmål, vi hjelper deg gjerne!

Opprett konto i Binero-skyen

Share this article

relaterte artikler

omslagsbild med text artikel Show the Champions League 2025-2026
Siste nytt
Special events
Valfritt
15 september 2025
omslagsbild med text artikel World cup qualifiers
Siste nytt
Special events
Valfritt
5 august 2025
omslagsbild med text artikel Show sports in public
EzyStream
Siste nytt
Valfritt
29 juli 2025

Vil du vite mer?

Vi er drevet av å hjelpe våre kunder med å oppnå høyere innovasjonskraft og kostnadseffektiv IT. Vil du også ta del i det siste innen høytytende skytjenester?