Simple object store.
This commit is contained in:
47
templates/simple-object-storage/start.sh
Normal file
47
templates/simple-object-storage/start.sh
Normal file
@ -0,0 +1,47 @@
|
||||
#!/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"
|
||||
check_required_env_vars "CONTAINER_NAME" "HOST_PORT" "VOLUME_NAME"
|
||||
|
||||
# check volume exists.
|
||||
if ! docker volume ls | grep -q "^${VOLUME_NAME} "; then
|
||||
die "Docker volume ${VOLUME_NAME} does not exist"
|
||||
fi
|
||||
|
||||
# heredoc for config file. Have to use double quotes to substitute variables.
|
||||
docker run --rm -v ${VOLUME_NAME}:/data alpine sh -c "\
|
||||
cat <<EOF > /data/sos_config.json
|
||||
{
|
||||
\"write_tokens\": [
|
||||
${WRITE_TOKENS}
|
||||
],
|
||||
\"object_store_path\": \"/data/storage\",
|
||||
\"host\": \"0.0.0.0\",
|
||||
\"port\": ${HOST_PORT}
|
||||
}
|
||||
EOF
|
||||
"
|
||||
|
||||
DOCKER_RUN_CMD="docker run -d \
|
||||
--restart unless-stopped \
|
||||
--name ${CONTAINER_NAME} \
|
||||
-p ${HOST_PORT}:80 \
|
||||
-v ${VOLUME_NAME}:/data \
|
||||
${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"
|
Reference in New Issue
Block a user