Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
This article is provided as a technical guide to set up Joget DX 8 with PostgreSQL database on Kubernetes. The following steps were implemented on Ubuntu 22.04, please modify the commands to suit your environment.
# create custom Dockerfile cat <<EOF > joget-dx8-postgresql-tomcat9.Dockerfile FROM jogetworkflow/joget-dx8-tomcat9:8.1.1 # Copy postgresql jdbc driver (download from https://jdbc.postgresql.org/download/postgresql-42.7.3.jar) COPY postgresql-42.7.3.jar /deployments/apache-tomcat/lib/postgresql-42.7.3.jar EOF # build docker image docker build -f joget-dx8-postgresql-tomcat9.Dockerfile --rm -t quay.io/replaceWithYourAccount/joget-dx8-postgresql-tomcat9:8.1.1 . # push docker image docker push quay.io/replaceWithYourAccount/joget-dx8-postgresql-tomcat9:8.1.1
# deploy postgresql using Helm helm install postgres oci://registry-1.docker.io/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
# check for 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:16.3.0-debian-12-r4 --env="PGPASSWORD=$POSTGRES_PASSWORD" \ --command -- psql --host postgres-postgresql -U postgres -d postgres -p 5432 $ CREATE DATABASE jwdb; $ \quit
Obtain the pgsql file from Configure for PostgreSQL.
# import sql cat jwdb-postgres.sql | kubectl exec -i postgres-postgresql-0 -- env PGPASSWORD=$POSTGRES_PASSWORD psql -U postgres -d jwdb
Follow the instructions in https://dev.joget.org/community/display/dx8/Joget+on+Kubernetes, replacing the jogetworkflow/joget-dx8-tomcat9 image with the custom image quay.io/replaceWithYourAccount/joget-dx8-postgresql-tomcat9 in the YAML
# ssh into tomcat pod and create datasource files kubectl exec --stdin --tty deployments/joget-dx8-tomcat9 -- /bin/bash $ cat <<EOF > /opt/joget/wflow/app_datasource-postgresql.properties workflowUser=postgres workflowPassword=REPLACE_POSTGRES_PASSWORD_HERE workflowDriver=org.postgresql.Driver workflowUrl=jdbc\:postgresql\://postgres-postgresql/jwdb EOF $ cat <<EOF > /opt/joget/wflow/app_datasource.properties currentProfile=postgresql EOF $ exit
# restart pods kubectl scale --replicas=0 deployment/joget-dx8-tomcat9 kubectl scale --replicas=1 deployment/joget-dx8-tomcat9 # view logs kubectl logs -f deployment/joget-dx8-tomcat9