#!/bin/bash set -e mkdir -p _working/go mkdir -p _working/jobs base_default_compose_files="docker/docker-compose.yml" default_compose_files="$base_default_compose_files" override_compose="docker/docker-compose.override.yml" gitea_compose="docker/gitea-override.yml" if [ -f "$override_compose" ] then default_compose_files+=" $override_compose" else default_compose_files="docker/docker-compose.yml" fi function stop_containers { current_containers="$(cat _working/current_containers)" if [ "$current_containers" == "default" ] then compose_files="$default_compose_files" elif [ "$current_containers" == "gitea" ] then compose_files="$default_compose_files $gitea_compose" fi compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags down } function show_logs { current_containers="$(cat _working/current_containers)" if [ "$current_containers" == "default" ] then compose_files="$default_compose_files" elif [ "$current_containers" == "gitea" ] then compose_files="$default_compose_files $gitea_compose" fi compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags logs -f } function show_ps { current_containers="$(cat _working/current_containers)" if [ "$current_containers" == "default" ] then compose_files="$default_compose_files" elif [ "$current_containers" == "gitea" ] then compose_files="$default_compose_files $gitea_compose" fi compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags ps } function runprev { current_containers="$(cat _working/current_containers)" if [ "$current_containers" == "default" ] then compose_files="$default_compose_files" elif [ "$current_containers" == "gitea" ] then compose_files="$default_compose_files $gitea_compose" fi compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags up --build -d docker compose $compose_file_flags logs -f } case $1 in "default") echo "default" > _working/current_containers compose_files="$default_compose_files" compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags up --build -d docker compose $compose_file_flags logs -f;; "gitea") echo "gitea" > _working/current_containers stop_containers compose_files="$default_compose_files $gitea_compose" compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags up --build -d docker compose $compose_file_flags logs -f;; "dbshell") compose_files="$default_compose_files $gitea_compose" compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') docker compose $compose_file_flags exec cursorius-db psql --user=cursorius;; "stop") stop_containers;; "logs") show_logs;; "ps") show_ps;; "runprev") runprev;; *) echo "ERROR: Unknown param \"$1\"" 2>&1 exit 255;; esac