2018-02-20 00:35:43 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
|
|
echo "This script must be run as root"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Run system update first
|
2018-03-06 05:01:42 +01:00
|
|
|
if [ ! -f ./docker-compose.yml ]; then
|
|
|
|
cp ./docker-compose.sample.yml ./docker-compose.yml
|
|
|
|
fi
|
2018-10-23 06:04:09 +02:00
|
|
|
if [ ! -f ./azuracast.env ]; then
|
|
|
|
cp ./azuracast.sample.env ./azuracast.env
|
|
|
|
fi
|
2018-03-06 05:01:42 +01:00
|
|
|
|
2018-11-05 05:41:14 +01:00
|
|
|
BASE_DIR=`pwd`
|
|
|
|
|
2019-05-23 17:29:22 +02:00
|
|
|
# Create backup from existing installation.
|
2020-01-25 06:08:25 +01:00
|
|
|
chmod a+x bin/console
|
|
|
|
./bin/console azuracast:backup --exclude-media migration.zip
|
2018-11-05 05:35:49 +01:00
|
|
|
|
2019-05-23 17:29:22 +02:00
|
|
|
read -n 1 -s -r -p "Database backed up. Press any key to continue (Install Docker)..."
|
2018-02-20 00:35:43 +01:00
|
|
|
|
|
|
|
# Install Docker
|
|
|
|
wget -qO- https://get.docker.com/ | sh
|
|
|
|
|
|
|
|
COMPOSE_VERSION=`git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oP "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | tail -n 1`
|
|
|
|
sudo sh -c "curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose"
|
|
|
|
sudo chmod +x /usr/local/bin/docker-compose
|
|
|
|
sudo sh -c "curl -L https://raw.githubusercontent.com/docker/compose/${COMPOSE_VERSION}/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose"
|
|
|
|
|
|
|
|
# Pull Docker images
|
2019-05-01 04:25:49 +02:00
|
|
|
read -n 1 -s -r -p "Docker installed. Press any key to continue (Uninstall Ansible AzuraCast)..."
|
2018-02-20 00:35:43 +01:00
|
|
|
|
2019-05-01 04:25:49 +02:00
|
|
|
# Run Ansible uninstaller
|
2018-02-20 00:35:43 +01:00
|
|
|
chmod a+x uninstall.sh
|
|
|
|
./uninstall.sh
|
|
|
|
|
|
|
|
read -n 1 -s -r -p "Uninstall complete. Press any key to continue (Install AzuraCast in Docker)..."
|
|
|
|
|
2019-05-27 23:33:11 +02:00
|
|
|
# Copy override file.
|
|
|
|
cp docker-compose.migrate.yml docker-compose.override.yml
|
|
|
|
|
2018-11-05 05:35:49 +01:00
|
|
|
# Spin up Docker
|
|
|
|
docker-compose pull
|
2019-05-23 17:29:22 +02:00
|
|
|
sleep 5
|
2018-02-20 00:35:43 +01:00
|
|
|
|
2019-05-27 23:46:38 +02:00
|
|
|
# Run restore op
|
2019-05-23 17:29:22 +02:00
|
|
|
chmod a+x docker.sh
|
2019-05-27 23:46:38 +02:00
|
|
|
|
2019-06-25 20:18:04 +02:00
|
|
|
# Set appropriate permissions on the stations directory
|
2019-06-25 23:13:36 +02:00
|
|
|
chown -R 1000 /var/azuracast/stations
|
2019-06-25 20:18:04 +02:00
|
|
|
|
2019-05-27 23:46:38 +02:00
|
|
|
docker-compose run --rm --user="azuracast" web azuracast_restore migration.zip
|
|
|
|
docker-compose up -d
|
2018-11-05 05:35:49 +01:00
|
|
|
|
2018-11-05 05:53:10 +01:00
|
|
|
read -n 1 -s -r -p "Docker is running. Press any key to continue (cleanup)..."
|
|
|
|
|
2018-11-05 05:35:49 +01:00
|
|
|
# Codebase cleanup
|
2019-05-27 23:33:11 +02:00
|
|
|
find -maxdepth 1 ! -name . ! -name docker-compose.yml ! -name docker-compose.override.yml \
|
2018-11-06 02:48:20 +01:00
|
|
|
! -name docker.sh ! -name .env ! -name azuracast.env ! -name plugins \
|
2018-11-05 05:35:49 +01:00
|
|
|
-exec rm -rv {} \;
|