75 lines
1.5 KiB
Bash
Executable File
75 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env zsh
|
|
TABSHIFT_DIRECTUS_PATH="${0:h}/../../apps/directus"
|
|
TABSHIFT_DIRECTUS_NAME='tabshift4docker/directus'
|
|
DOCKER_E2E_SETUP_PATH="${0:h}/docker"
|
|
|
|
start_docker_runtime() {
|
|
colima status || colima start
|
|
}
|
|
|
|
stop_docker_runtime() {
|
|
colima status && colima stop
|
|
}
|
|
|
|
build_tabshift_directus_image() {
|
|
if docker image ls | grep ${TABSHIFT_DIRECTUS_NAME}; then
|
|
return
|
|
fi
|
|
docker buildx build -t ${TABSHIFT_DIRECTUS_NAME}:latest --platform linux/arm64 $TABSHIFT_DIRECTUS_PATH
|
|
}
|
|
|
|
start_docker_compose_service() {
|
|
pushd -q ${DOCKER_E2E_SETUP_PATH}
|
|
docker-compose up ${start_in_background:+'-d'}
|
|
popd -q
|
|
}
|
|
|
|
stop_docker_compose_services() {
|
|
pushd -q ${DOCKER_E2E_SETUP_PATH}
|
|
docker-compose stop
|
|
popd -q
|
|
}
|
|
|
|
start_docker_compose_service_and_runtime() {
|
|
local start_in_background=${1:+'y'}
|
|
start_docker_runtime
|
|
build_tabshift_directus_image
|
|
start_docker_compose_service
|
|
}
|
|
|
|
start_docker_compose_service_in_background() {
|
|
start_docker_compose_service_and_runtime start_in_background
|
|
}
|
|
|
|
start_docker_compose_service_in_foreground() {
|
|
start_docker_compose_service_and_runtime
|
|
}
|
|
|
|
stop_docker_compose_services_and_runtime() {
|
|
stop_docker_compose_services
|
|
stop_docker_runtime
|
|
}
|
|
|
|
trap 'docker container prune -f' INT TERM EXIT
|
|
|
|
main() {
|
|
local CMD=$1
|
|
|
|
case $CMD in
|
|
start)
|
|
start_docker_compose_service_in_background
|
|
;;
|
|
start-fg)
|
|
start_docker_compose_service_in_foreground
|
|
;;
|
|
stop-all)
|
|
stop_docker_compose_services_and_runtime
|
|
;;
|
|
*)
|
|
stop_docker_compose_services
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main $*
|