50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
|
#!/bin/bash -e
|
||
|
|
||
|
cd $(realpath $(dirname $(dirname $0)))
|
||
|
|
||
|
IMAGE_NAME="zefhemel/silverbullet:edge"
|
||
|
WEBSITE_SPACE="./website"
|
||
|
WEBSITE_PORT=3000
|
||
|
|
||
|
# Get the current image ID
|
||
|
BEFORE_PULL=$(docker images -q $IMAGE_NAME)
|
||
|
|
||
|
# Pull the Docker image
|
||
|
docker pull $IMAGE_NAME
|
||
|
|
||
|
# Get the new image ID
|
||
|
AFTER_PULL=$(docker images -q $IMAGE_NAME)
|
||
|
|
||
|
# Compare the image IDs
|
||
|
# if [ "$BEFORE_PULL" == "$AFTER_PULL" ]; then
|
||
|
# echo "The Docker image has not been updated. Done!"
|
||
|
# exit 0
|
||
|
# fi
|
||
|
|
||
|
echo "The Docker image has been updated, let's update the website content."
|
||
|
git pull
|
||
|
|
||
|
# Check if a silverbullet container is running already
|
||
|
if [ "$(docker ps -q -f name=silverbullet)" ]; then
|
||
|
echo "A silverbullet container is running, let's stop it."
|
||
|
docker kill silverbullet
|
||
|
docker rm silverbullet
|
||
|
fi
|
||
|
|
||
|
# Remove the old database
|
||
|
echo "Removing old databases"
|
||
|
rm -f $WEBSITE_SPACE/.silverbullet.db*
|
||
|
|
||
|
echo "Starting new silverbullet container"
|
||
|
docker run -d --name silverbullet -v $WEBSITE_SPACE:/space -e SB_READ_ONLY=1 -p $WEBSITE_PORT:3000 $IMAGE_NAME
|
||
|
|
||
|
|
||
|
echo "Waiting for the servers to start"
|
||
|
|
||
|
# Repeatedly try to connect to the server until it responds
|
||
|
until $(curl --output /dev/null --silent --head --fail http://localhost:$WEBSITE_PORT/); do
|
||
|
printf '.'
|
||
|
sleep 1
|
||
|
done
|
||
|
echo
|
||
|
echo "We're back up!"
|