1. Koti
  2. /
  3. Uutiset
  4. /
  5. WikiJS:n asentaminen OpenShiftiin

WikiJS:n asennus OpenShift / OKD 4:lle

WikiJS:n asentaminen OpenShift / OKD 4:ään Crunchy PostgreSQL:n avulla

Binero Groupissa työskentelemme joka päivä ohjelmistojen toimituksen parantamiseksi. Yrityksellä virtaa suonissaan Open Source, ja siksi pyrimme antamaan takaisin asiakkaillemme mahdollisimman paljon siitä, mitä kehitämme.

Etsinnässä Kubernetes-pohjainen Wiki, törmäsimme WikiJS:ään, moderniin Wikiin, joka tukee markdown-tiedostoja ja useita tallennustaustoja, kuten git ja PostgreSQL.
Verkkosivu tarjoaa tietoa asennuksesta Kubernetesiin, mutta OpenShiftillä on joitakin lisäturvaominaisuuksia, jotka on otettava huomioon ohjelmiston asennuksessa siihen.

Jos haluat mennä suoraan koodiin ja lyhyeen selitykseen, löydät Git-repon täältä viitaten projektin aloittajaan, mutta lue mielellään lisää, jos haluat tietää enemmän asetuksen taustasta.

Ensinnäkin pidämme tuotteista, joilla on suuri asennuskanta ja korkea automaatiotaso, jotta ohjelmiston ylläpitotyöt pysyvät minimissä: haluamme keskittyä mahdollisimman paljon tehokkaaseen käyttöön ja hyötyä Kubernetesin tarjoamista ominaisuuksista. Tästä syystä valitsimme Crunchy Data Postgres Operatorin PostgreSQL:n asentamiseen WikiJS:n tallennustaustaksi, sillä se on parhaiten tuettu.

Sitten näytämme, miten rakennetaan docker-kuva, joka voidaan lisätä sisäiseen repositoryyn tarvittaessa ja käyttää ns. sideloading-tilassa, mikä tarkoittaa, että asennukselle tarvittavat tiedostot paketoidaan konttiin, joten internet-yhteyttä ei tarvita tiedostojen hakemiseen alustuksen aikana. Kuva on julkisesti saatavilla Docker Hubissa ja päivittyy tällä hetkellä manuaalisesti – tämä voi muuttua tulevaisuudessa, suosittelemme rakentamaan kuvan itse saadaksesi viimeisimmän tarvittavan version.

Aloitetaan!

WikiJS Openshift / OKD 4:ssä

Kuinka asentaa WikiJS Openshift 4:ään (käyttäen sideloading-tilaa)

Esivaatimukset:

  • käynnissä oleva Openshift- tai OKD-klusteri, jossa on määritetty pysyvä tallennustila
    Esimerkit koskevat mitä tahansa OKD- tai OpenShift 4 -klusteria, kuvakaappaukset on otettu OKD:stä, joka toimii CRC:llä (nyt OpenShift local), kuten kuvattu tässä
1. Luo projekti:
oc new-project wikijs

Vaihtoehtoisesti, mene osoitteeseen https://console-openshift-console.apps-crc.testing/k8s/cluster/projects ja klikkaa Luo projekti ja nimeä se wikijs:

How to create a project in wiki.js in OpenShift

2. Asenna Crunchy Postgres Kubernetesille -operaattori OperatorHubista tai seuraa ohjeita täältä:

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

Valitse kaikki nimiavaruudet, jos haluat käyttää sitä useammassa kuin yhdessä. Muuten käytä aiemmin luomaamme wikijs-nimiavaruutta.

Installing the Crunchy Postgres for Kubernete operator wiki.js in OpenShift

3. Asenna postgres-tietokanta seuraavasti varmistaen, että oc-komentosi käyttää oikeaa kontekstia. Muuta arvot tarvittaessa - tällä hetkellä se on 20GB.
oc apply -f postgres.yaml
4. Sinulla pitäisi nyt olla PostgresCluster CR asennettujen operaattorien välilehdellä:

PostgresCluster CR wiki.js in OpenShift

Sinun pitäisi pystyä yhdistämään paikalliselta koneelta psql:llä näin (varmista, että psql on asennettu):

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

Sinun pitäisi saada shell, joka näyttää, että yhteys käyttää TLS:ää, mikä on tämän operaattorin oletus.

5. Minulle ei toiminut, että WikiJS yhdistää PostgreSQL:ään SSL:llä, tarvitsin lisätä CA-sertifikaatin kuten dokumentaatiossa on kuvattu:

(DB_SLL_CA - Tietokannan CA-sertifikaatin sisältö, yhtenä rivinä (ilman välilyöntejä tai rivinvaihtoja), ilman etu- ja takarivien merkintöjä. (valinnainen, vaatii 2.3+))

Tämä tallennetaan pgo-root-cacert-salaisuuteen, aja skripti saadaksesi sen oikeaan muotoon:

./getPsqlRootCAString.sh

Se antaa jotakin tällaista:

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

Lisää tämä tiedostoon deploymentConfig.yaml, katkelma:

- 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=

Olemme nyt valmiita ottamaan sen käyttöön.

6. Käyttöönotto-tiedostossa on viittaus docker-kuvaan, jonka mainitun viitteen tekijä on tehnyt. Kuten mainittiin, tämän voi rakentaa mukana tulevasta Dockerfilestä.

Mukavuuden vuoksi voimme käyttää kyseistä kuvaa, käyttää omaasi, rakentaa kuvan ja merkitä sen:
docker build -t käyttäjänimesi/varaston-nimi .

Minä käytin docker hubia :

docker build -t vgerris/wikijs:2 .

sitten työntää se haluamaasi rekisteriin ja päivittää viittaus käyttöönotto-tiedostossa
lisätietoja : https://docs.docker.com/engine/reference/commandline/push/

docker push vgerris/wikijs:2

Ota käyttöönotto nyt käyttöön:

oc apply -f deploymentConfig.yaml
7. Nyt kun sovellus on otettu käyttöön, voimme lisätä palvelun ja reitin sen paljastamiseksi. Päivitä reittitiedosto palvelimesi URL-osoitteella:
oc apply -f service.yaml
oc apply -f route.yaml

Sovelluksen pitäisi nyt olla käynnissä ja reitillä näkyvissä, voit viimeistellä asennuksen.

Nauti WikiJS:stä!

Valinnainen
Jos sinulla on olemassa oleva kokoelma Markdown-tiedostoja (MD), voi olla hyödyllistä lisätä ne wikiiin. Lisätietoja siitä, miten se asetetaan kun tiedostot on tallennettu git:iin, löytyy täältä.
Tiedostot indeksoidaan ja lisätään WikiJS:ään, ja niitä voidaan muokata suoraan Markdown-editorilla. Bonuksena WikiJS:ssä on diagrammilaajennus, joka tekee draw.io-pohjaisten diagrammien lisäämisestä asiakirjoihin todella helppoa.

OpenID connectin asettaminen on myös melko helppoa esimerkiksi Keycloakilla.
Hallinnassa mene todennusosioon, lisää strategia ja valitse Keycloak.
Luo asiakas Keycloakissa ja täytä vaaditut kentät.
Poista vierailijakäyttäjä käytöstä, jos et halua sen olevan julkinen, katso:
https://docs.requarks.io/groups (Yksityinen Wiki)

Binero Group toimittaa OKD Binero cloudin päällä ja tarjoaa myös täysin tuetun Red Hat OpenShift Container Platform -ratkaisun isännöitynä tai täysin hallinnoituna ratkaisuna, ruotsalaisissa datakeskuksissa, GDPR-yhteensopivana.

Kokeile Binero cloudia ja ota meihin yhteyttä, jos sinulla on kysyttävää, autamme mielellämme!

Luo tili Binero cloudissa

Jaa tämä artikkeli

Aiheeseen liittyvät artikkelit

Artikkeli pilvipalveluista
Artikkeli

Turvalliset pilvipalvelut yrityksille

Messutapahtuma, jossa on monia ihmisiä, kojuja ja vihreitä kasveja, teksti "Event: Vitalis 2026".
Event

Binero ottaa käyttöön Vitalis

Kaksi miestä seisoo messuosastolla "Binero"-kyltin edessä, taustalla digiterveydenhuollon tapahtuma.
Event

Pohdinta eHealth+MVTe 2026:sta

Haluatko tietää lisää?

Meitä motivoi auttaa asiakkaitamme saavuttamaan suurempaa innovaatiota ja kustannustehokasta IT:tä. Haluaisitko sinäkin hyödyntää viimeisintä huippusuorituskyvyssä pilvipalveluissa?