mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
76 lines
2.4 KiB
Bash
76 lines
2.4 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
JIKAN_API_VERSION=v4.0.0-rc.11
|
||
|
DOCKER_COMPOSE_PROJECT_NAME=jikan-api-$JIKAN_API_VERSION
|
||
|
|
||
|
display_help() {
|
||
|
echo "============================================================"
|
||
|
echo "Jikan API Container Setup CLI"
|
||
|
echo "============================================================"
|
||
|
echo "Syntax: ./container-setup.sh [command]"
|
||
|
echo "Jikan API Version: $JIKAN_API_VERSION"
|
||
|
echo "---commands---"
|
||
|
echo "help Print CLI help"
|
||
|
echo "build-image Build Image Locally"
|
||
|
echo "start Start Jikan API (mongodb, typesense, redis, jikan-api workers)"
|
||
|
echo "validate-prereqs Validate pre-reqs installed (docker, docker-compose)"
|
||
|
echo "execute-indexers Execute the indexers, which will scrape and index data from MAL. (Notice: This can take days)"
|
||
|
echo ""
|
||
|
}
|
||
|
|
||
|
validate_prereqs() {
|
||
|
docker -v >/dev/null 2>&1
|
||
|
if [ $? -ne 0 ]; then
|
||
|
echo -e "'docker' is not installed or not runnable without sudo. \xE2\x9D\x8C"
|
||
|
else
|
||
|
echo -e "Docker is Installed. \xE2\x9C\x94"
|
||
|
fi
|
||
|
|
||
|
docker-compose -v >/dev/null 2>&1
|
||
|
if [ $? -ne 0 ]; then
|
||
|
echo -e "'docker-compose' is not installed. \xE2\x9D\x8C"
|
||
|
else
|
||
|
echo -e "Docker compose is Installed. \xE2\x9C\x94"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
build_image() {
|
||
|
docker build --rm --compress -t jikanme/jikan-rest:$JIKAN_API_VERSION .
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME up -d
|
||
|
}
|
||
|
|
||
|
case "$1" in
|
||
|
"help")
|
||
|
display_help
|
||
|
;;
|
||
|
"validate-prereqs")
|
||
|
validate_prereqs
|
||
|
;;
|
||
|
"build-image")
|
||
|
build_image
|
||
|
;;
|
||
|
"start")
|
||
|
start
|
||
|
;;
|
||
|
"execute-indexers")
|
||
|
echo "Indexing anime..."
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME exec jikan_rest php /app/artisan indexer:anime
|
||
|
echo "Indexing manga..."
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME exec jikan_rest php /app/artisan indexer:manga
|
||
|
echo "Indexing characters and people..."
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME exec jikan_rest php /app/artisan indexer:common
|
||
|
echo "Indexing genres..."
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME exec jikan_rest php /app/artisan indexer:genres
|
||
|
echo "Indexing producers..."
|
||
|
docker-compose -p $DOCKER_COMPOSE_PROJECT_NAME exec jikan_rest php /app/artisan indexer:producers
|
||
|
echo "Indexing done!"
|
||
|
;;
|
||
|
*)
|
||
|
echo "No command specified, displaying help"
|
||
|
display_help
|
||
|
;;
|
||
|
esac
|