35 lines
1.1 KiB
Bash
Executable File
35 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
source "${AGENT_PATH}/common.sh"
|
|
_check_required_env_vars
|
|
|
|
# Watchtower Start Script
|
|
|
|
# Optional arguments (e.g., --cleanup, --monitor-only)
|
|
EXTRA_ARGS=$1
|
|
|
|
DOCKER_RUN_CMD="docker run -d \
|
|
--name ${CONTAINER_NAME} \
|
|
--restart=always \
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG} \
|
|
--interval ${INTERVAL} ${EXTRA_ARGS}"
|
|
|
|
echo "Starting container ${CONTAINER_NAME}..."
|
|
|
|
if ! _create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
|
|
# If creation/start failed, attempt to display logs if container exists
|
|
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
|
|
|
|
# Check if the container is running after successful start command
|
|
if ! _is_container_running "$CONTAINER_NAME"; then
|
|
_get_container_logs $CONTAINER_NAME # Show logs if it immediately exited
|
|
_die "Container ${CONTAINER_NAME} is not running after start attempt"
|
|
fi
|
|
|
|
echo "Service ${CONTAINER_NAME} started successfully."
|