Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update some of the commands to the latest working ones
English

This article is provided as a technical guide to set up Joget DX on 8 with PostgreSQL database on Kubernetes. Please note that Postgres database is not officially supported by Joget. The following steps were implemented on Ubuntu 2022.04, please modify the commands to suit your environment.

...

Code Block
languagebash
linenumberstrue
# create custom Dockerfile
cat <<EOF > joget-dx8-postgresql-tomcat9.Dockerfile
FROM jogetworkflow/joget-dx8-tomcat9:78.01.141

# Copy postgresql jdbc driver (download from https://jdbc.postgresql.org/download/postgresql-42.27.193.jar)
COPY postgresql-42.27.193.jar /deployments/apache-tomcat/lib/postgresql-42.27.193.jar
EOF

# build docker image
docker build -f joget-dx8-postgresql-tomcat9.Dockerfile --rm -t quay.io/replaceWithYourAccount/joget-dx8-postgresql-tomcat9:78.01.141 .

# push docker image
docker push quay.io/replaceWithYourAccount/joget-dx8-postgresql-tomcat9:78.01.141

Deploy PostgreSQL on K8s using Helm

Code Block
languagebash
linenumberstrue
# deploy postgresql using Helm
helm repoinstall addpostgres bitnami httpsoci://chartsregistry-1.bitnamidocker.com/bitnami
helm install postgres bitnamiio/bitnamicharts/postgresql
helm list
helm get notes postgres

# wait for postgresql to startup
kubectl wait \
  --for=condition=ready pod \
  --selector=app.kubernetes.io/name=postgresql \
  --timeout=180s

...

Code Block
languagebash
linenumberstrue
# check setfor postgresql password
export POSTGRES_PASSWORD=$(kubectl get secret --namespace default postgres-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)

# run psql
kubectl run postgres-postgresql-client --rm --tty -i --restart='Never' --namespace default --image docker.io/bitnami/postgresql:1116.113.0-debian-1012-r24r4 --env="PGPASSWORD=$POSTGRES_PASSWORD" \
      --command -- psql --host postgres-postgresql -U postgres -d postgres -p 5432

$ CREATE DATABASE jwdb;
$ \quit

...

Code Block
languagebash
linenumberstrue
# import sql
cat jwdb-postgresql-dx8postgres.pgsqlsql | kubectl exec -i postgres-postgresql-0 -- env PGPASSWORD=$POSTGRES_PASSWORD psql -U postgres -d jwdb

...