#!/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"