257 lines
7.6 KiB
Bash
Executable File
257 lines
7.6 KiB
Bash
Executable File
#!/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:80 \
|
|
-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
|
|
|