48 lines
1.6 KiB
Bash
Executable File
48 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
source "${AGENT_PATH}/common.sh"
|
|
_check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG" "HTTP_PORT" "JAVA_XMS" "JAVA_XMX"
|
|
|
|
# LanguageTool Start Script
|
|
|
|
# Build environment variables for the container
|
|
ENV_ARGS="-e Java_Xms=${JAVA_XMS} -e Java_Xmx=${JAVA_XMX}"
|
|
|
|
# Add pipeline prewarming if enabled
|
|
if [ "${LANGTOOL_PIPELINEPREWARMING}" = "true" ]; then
|
|
ENV_ARGS="${ENV_ARGS} -e langtool_pipelinePrewarming=true"
|
|
fi
|
|
|
|
# Build volume arguments
|
|
VOLUME_ARGS=""
|
|
if [ "${ENABLE_NGRAMS}" = "true" ]; then
|
|
# Create the ngrams volume if it doesn't exist
|
|
docker volume create "${DATA_VOLUME}" 2>/dev/null || true
|
|
VOLUME_ARGS="-v ${DATA_VOLUME}:/ngrams -e langtool_languageModel=/ngrams"
|
|
fi
|
|
|
|
DOCKER_RUN_CMD="docker run -d \
|
|
--name ${CONTAINER_NAME} \
|
|
--restart=unless-stopped \
|
|
-p ${HTTP_PORT}:8010 \
|
|
${ENV_ARGS} \
|
|
${VOLUME_ARGS} \
|
|
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
|
|
|
echo "Starting container ${CONTAINER_NAME}..."
|
|
|
|
if ! _create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
|
|
if _is_container_exists "$CONTAINER_NAME"; then
|
|
echo "Attempting to get logs from failed container..."
|
|
_get_container_logs "$CONTAINER_NAME"
|
|
fi
|
|
_die "Failed to start container ${CONTAINER_NAME}"
|
|
fi
|
|
|
|
if ! _is_container_running "$CONTAINER_NAME"; then
|
|
_get_container_logs "$CONTAINER_NAME"
|
|
_die "Container ${CONTAINER_NAME} is not running after start attempt"
|
|
fi
|
|
|
|
echo "Service ${CONTAINER_NAME} started successfully on port ${HTTP_PORT}."
|
|
echo "Test with: curl --data \"language=en-US&text=a simple test\" http://localhost:${HTTP_PORT}/v2/check"
|