#!/bin/sh # script/setup: Set up container for the first time after cloning set -e cd "$(dirname "$0")/.." script/bootstrap #script/cibuild echo "==> Setting up pod kontor" if podman pod exists kontor; then echo " => pod kontor exists" if podman pod ps --filter "name=kontor" --filter "status=running"; then echo " => pod kontor is running" else podman pod start kontor fi else podman pod create --name kontor \ --infra \ -p 5432:5432 \ -p 8100:8100 \ -p 8200:8200 \ -p 8300:8300 \ -p 8400:8400 \ -p 8500:8500 \ -p 8600:8600 \ -p 8700:8700 \ -p 8800:8800 \ -p 8900:8080 \ -p 61616:61616 \ -p 8161:8161 \ -p 5672:5672 \ --network bridge fi echo "==> Setting up volume kontor-db" if podman volume exists kontor-db; then echo " => volume kontor-db exists" else podman volume create kontor-db fi echo "==> Setting up volume activemq-data" if podman volume exists activemq-data; then echo " => volume kontor-db exists" else podman volume create activemq-data fi echo "==> Setting up container postgres" if podman container exists postgres; then if podman ps -q --filter "name=postgres"; then echo " => postgres is running" fi else podman run -d --replace --pod kontor --name postgres \ -e POSTGRES_PASSWORD=kontor \ -e POSTGRES_DB=kontor \ -e POSTGRES_USER=kontor \ -v kontor-db:/var/lib/postgresql/data \ --health-cmd='pg_isready -U kontor || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ docker.io/library/postgres:17 fi echo "==> Setting up container adminer" if podman container exists adminer; then if podman ps -q --filter "name=adminer"; then echo " => adminer is running" fi else podman run -d --replace --pod kontor --name adminer docker.io/library/adminer fi echo "==> Setting up container activemq" if podman container exists activemq; then if podman ps -q --filter "name=activemq"; then echo " => adminer is running" fi else podman run -d --replace --pod kontor --name activemq \ -v activemq-data:/var/lib/artemis-instance \ docker.io/apache/activemq-artemis:latest-alpine fi echo "==> Setting up container kontor-spring" if podman image exists localhost/kontor-spring:0.3.0; then echo " => Image localhost/kontor-spring:0.3.0 available" fi if podman container exists kontor-spring; then if podman ps -q --filter "name=kontor-spring"; then echo " => kontor-spring is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-spring \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-spring.service" \ localhost/kontor-spring:0.3.0 fi echo "==> Setting up container kontor-api" if podman image exists localhost/kontor-api:0.3.0; then echo " => Image localhost/kontor-api:0.3.0 available" fi if podman container exists kontor-api; then if podman ps -q --filter "name=kontor-api"; then echo " => kontor-api is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-api \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-api.service" \ --health-cmd='curl -f http://kontor-api:8200/health || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ localhost/kontor-api:0.3.0 fi echo "==> Setting up container kontor-quarkus" if podman image exists localhost/kontor-quarkus:0.3.0; then echo " => Image localhost/kontor-quarkus:0.3.0 available" fi if podman container exists kontor-quarkus; then if podman ps -q --filter "name=kontor-quarkus"; then echo " => kontor-quarkus is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-quarkus \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-quarkus.service" \ --health-cmd='curl -f http://kontor-quarkus:8300/q/health || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ localhost/kontor-quarkus:0.3.0 fi echo "==> Setting up container kontor-echo" if podman image exists localhost/kontor-echo:0.3.0; then echo " => Image localhost/kontor-echo:0.3.0 available" fi if podman container exists kontor-echo; then if podman ps -q --filter "name=kontor-echo"; then echo " => kontor-echo is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-echo \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-echo.service" \ --health-cmd='curl -f http://kontor-echo:8400/health || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ localhost/kontor-echo:0.3.0 fi echo "==> Setting up container kontor-fiber" if podman image exists localhost/kontor-fiber:0.3.0; then echo " => Image localhost/kontor-fiber:0.3.0 available" fi if podman container exists kontor-fiber; then if podman ps -q --filter "name=kontor-fiber"; then echo " => kontor-fiber is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-fiber \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-fiber.service" \ --health-cmd='curl -f http://kontor-echo:8500/health || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ localhost/kontor-fiber:0.3.0 fi echo "==> Setting up container kontor-javalin" if podman image exists localhost/kontor-javalin:0.3.0; then echo " => Image localhost/kontor-javalin:0.3.0 available" fi if podman container exists kontor-javalin; then if podman ps -q --filter "name=kontor-javalin"; then echo " => kontor-javalin is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-javalin \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-javalin.service" \ --health-cmd='curl -f http://kontor-echo:8600/health || exit 1' \ --health-interval=1s \ --health-timeout=5s \ --health-retries=10 \ localhost/kontor-javalin:0.3.0 fi echo "==> Setting up container kontor-vue" if podman image exists localhost/kontor-vue:0.3.0; then echo " => Image localhost/kontor-vue:0.3.0 available" fi if podman container exists kontor-vue; then if podman ps -q --filter "name=kontor-vue"; then echo " => kontor-vue is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-vue \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-vue.service" \ localhost/kontor-vue:0.3.0 fi echo "==> Setting up container kontor-angular" if podman image exists localhost/kontor-angular:0.3.0; then echo " => Image localhost/kontor-angular:0.3.0 available" fi if podman container exists kontor-angular; then if podman ps -q --filter "name=kontor-angular"; then echo " => kontor-angular is running" fi else podman run -d \ --replace \ --pod kontor \ --name kontor-angular \ --label "io.containers.autoupdate=local" \ --label "PODMAN_SYSTEMD_UNIT=container-kontor-angular.service" \ localhost/kontor-angular:0.3.0 fi