39 lines
1.2 KiB
Bash
Executable File
39 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# START SCRIPT
|
|
# The start script is required for all templates.
|
|
# It is used to start the service on the server.
|
|
# It is called with the path to the server specific env file as an argument.
|
|
|
|
source "$(dirname "$0")/_common.sh"
|
|
load_env "$1" || die "Failed to load environment variables"
|
|
|
|
# Required environment variables
|
|
check_required_env_vars "CONTAINER_NAME" "HOST_PORT" "CONTAINER_PORT" "LOCAL_DATA_FOLDER"
|
|
|
|
if [ -d "${LOCAL_DATA_FOLDER}" ]; then
|
|
echo "Local data folder ${LOCAL_DATA_FOLDER} exists, skipping data folder creation"
|
|
else
|
|
echo "Local data folder ${LOCAL_DATA_FOLDER} does not exist, creating..."
|
|
mkdir -p "${LOCAL_DATA_FOLDER}"
|
|
fi
|
|
|
|
DOCKER_RUN_CMD="docker run -d \
|
|
--restart unless-stopped \
|
|
--name ${CONTAINER_NAME} \
|
|
-p ${HOST_PORT}:${CONTAINER_PORT} \
|
|
-v ${LOCAL_DATA_FOLDER}:/skdata \
|
|
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
|
|
|
|
|
if ! create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
|
|
die "Failed to start container ${CONTAINER_NAME}"
|
|
fi
|
|
|
|
# Check if the container is running
|
|
if ! _is_container_running "$CONTAINER_NAME"; then
|
|
die "Container ${CONTAINER_NAME} is not running"
|
|
fi
|
|
|
|
echo "Container ${CONTAINER_NAME} started"
|