#!/usr/bin/env bash ABSDIR="$( dirname "$(readlink -f -- "$0")" )" source ${ABSDIR}/../functions.sh source ${ABSDIR}/vars.sh ensure_pwd_is_scriptdir ensure_not_root ensure_pod_not_exists ${pod_name} ensure_variables_are_defined "$envvars" if ! podman volume exists ${confvolume} ; then echo "Error : conf volume ${confvolume} does not exists. Consider running 05_freshinstall.sh if this is the first install." exit 1 fi if ! podman volume exists ${dbvolume} ; then echo "Error : conf volume ${dbvolume} does not exists. Consider running 05_freshinstall.sh if this is the first install." exit 1 fi if ! podman image pull ${synapse_image}:${synapse_version}; then podman image pull ${synapse_image}:${synapse_version} || exit 1 fi podman pull ${postgres_image}:${postgres_version} && if ! podman network exists ${project_name}_default; then podman network create ${project_name}_default fi podman pod create --name ${pod_name} --infra=true --infra-name=${project_name}_infra --share='' && podman run -d --name ${db_container_name} --pod ${pod_name} --requires=${project_name}_infra --net ${project_name}_default \ --mount type=volume,src=${dbvolume},dst=/var/lib/postgresql/data/ \ -e POSTGRES_PASSWORD=${GARBAYE_MATRIX_POSTGRES_PASSWORD} \ -e POSTGRES_USER=${container_name} \ -e POSTGRES_DB=${container_name} \ -e POSTGRES_INITDB_ARGS="--encoding=UTF8 --locale=C" \ ${postgres_image}:${postgres_version} && echo -n "Waiting for PostgreSQL to be ready... " && ( podman logs -f synapse-db 2>&1 & ) | grep -q 'database system is ready to accept connections' && echo "OK." && podman run -d --name ${container_name} --pod ${pod_name} --requires=${project_name}_infra --net ${project_name}_default \ --mount type=volume,src=${confvolume},dst=/data --publish ${listen_if}:${listen_port}:8008 ${synapse_image}:${synapse_version} && echo -n "Waiting for background tasks to end... " && ( podman logs -f synapse 2>&1 & ) | grep -q 'No more background updates to do' && echo "OK." && podman pod stop ${pod_name} && echo "Done. Pod built and stopped."