Restructure Docker Util script.
This commit is contained in:
parent
be32f437cb
commit
177115d94b
126
docker.sh
126
docker.sh
|
@ -3,7 +3,22 @@
|
|||
|
||||
PODMAN_MODE=0
|
||||
|
||||
shopt -s expand_aliases
|
||||
# Docker and Docker Compose aliases
|
||||
d() {
|
||||
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||
podman "$@"
|
||||
else
|
||||
docker "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
dc() {
|
||||
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||
podman-compose "$@"
|
||||
else
|
||||
docker-compose "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# Functions to manage .env files
|
||||
__dotenv=
|
||||
|
@ -381,7 +396,7 @@ run-installer() {
|
|||
|
||||
touch docker-compose.new.yml
|
||||
|
||||
local dc_config_test=$(docker-compose -f docker-compose.new.yml config 2>/dev/null)
|
||||
local dc_config_test=$(dc -f docker-compose.new.yml config 2>/dev/null)
|
||||
if [ $? -ne 0 ]; then
|
||||
if ask "Docker Compose needs to be updated to continue. Update to latest version?" Y; then
|
||||
install-docker-compose
|
||||
|
@ -390,8 +405,8 @@ run-installer() {
|
|||
|
||||
curl -fsSL https://raw.githubusercontent.com/AzuraCast/AzuraCast/$AZURACAST_RELEASE_BRANCH/docker-compose.installer.yml -o docker-compose.installer.yml
|
||||
|
||||
docker-compose -p azuracast_installer -f docker-compose.installer.yml pull
|
||||
docker-compose -p azuracast_installer -f docker-compose.installer.yml run --rm installer install "$@"
|
||||
dc -p azuracast_installer -f docker-compose.installer.yml pull
|
||||
dc -p azuracast_installer -f docker-compose.installer.yml run --rm installer install "$@"
|
||||
|
||||
rm docker-compose.installer.yml
|
||||
}
|
||||
|
@ -451,10 +466,14 @@ install() {
|
|||
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||
fi
|
||||
|
||||
docker-compose pull
|
||||
if [[ $PODMAN_MODE -ne 0 ]]; then
|
||||
.env --file .env set AZURACAST_PODMAN_MODE=true
|
||||
fi
|
||||
|
||||
docker-compose run --rm web -- azuracast_install "$@"
|
||||
docker-compose up -d
|
||||
dc pull
|
||||
|
||||
dc run --rm web -- azuracast_install "$@"
|
||||
dc up -d
|
||||
exit
|
||||
}
|
||||
|
||||
|
@ -505,13 +524,13 @@ install-dev() {
|
|||
./web/static/ ./web/static/api/ \
|
||||
./web/static/dist/ ./web/static/img/
|
||||
|
||||
docker-compose build
|
||||
docker-compose run --rm web -- azuracast_install "$@"
|
||||
dc build
|
||||
dc run --rm web -- azuracast_install "$@"
|
||||
|
||||
docker-compose -p azuracast_frontend -f docker-compose.frontend.yml build
|
||||
docker-compose -p azuracast_frontend -f docker-compose.frontend.yml run --rm frontend npm run build
|
||||
dc -p azuracast_frontend -f docker-compose.frontend.yml build
|
||||
dc -p azuracast_frontend -f docker-compose.frontend.yml run --rm frontend npm run build
|
||||
|
||||
docker-compose up -d
|
||||
dc up -d
|
||||
exit
|
||||
}
|
||||
|
||||
|
@ -583,23 +602,23 @@ update() {
|
|||
)"
|
||||
|
||||
if [[ ${COMPOSE_FILES_MATCH} -ne 0 ]]; then
|
||||
docker-compose -f docker-compose.new.yml pull
|
||||
docker-compose down --timeout 30
|
||||
dc -f docker-compose.new.yml pull
|
||||
dc down --timeout 60
|
||||
|
||||
cp docker-compose.yml docker-compose.backup.yml
|
||||
mv docker-compose.new.yml docker-compose.yml
|
||||
else
|
||||
rm docker-compose.new.yml
|
||||
|
||||
docker-compose pull
|
||||
docker-compose down --timeout 30
|
||||
dc pull
|
||||
dc down --timeout 60
|
||||
fi
|
||||
|
||||
docker-compose run --rm web -- azuracast_update "$@"
|
||||
docker-compose up -d
|
||||
dc run --rm web -- azuracast_update "$@"
|
||||
dc up -d
|
||||
|
||||
if ask "Clean up all stopped Docker containers and images to save space?" Y; then
|
||||
docker system prune -f
|
||||
d system prune -f
|
||||
fi
|
||||
|
||||
echo "Update complete!"
|
||||
|
@ -629,7 +648,7 @@ update-self() {
|
|||
# Usage: ./docker.sh cli [command]
|
||||
#
|
||||
cli() {
|
||||
exec docker-compose exec --user="azuracast" web azuracast_cli "$@"
|
||||
exec dc exec --user="azuracast" web azuracast_cli "$@"
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -637,14 +656,14 @@ cli() {
|
|||
# Usage: ./docker.sh bash
|
||||
#
|
||||
bash() {
|
||||
exec docker-compose exec --user="azuracast" web bash
|
||||
exec dc exec --user="azuracast" web bash
|
||||
}
|
||||
|
||||
#
|
||||
# Enter the MariaDB database management terminal with the correct credentials.
|
||||
#
|
||||
db() {
|
||||
exec docker-compose exec web azuracast_db
|
||||
exec dc exec web azuracast_db
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -666,12 +685,12 @@ backup() {
|
|||
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||
fi
|
||||
|
||||
docker-compose exec --user="azuracast" web azuracast_cli azuracast:backup "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||
dc exec --user="azuracast" web azuracast_cli azuracast:backup "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||
|
||||
# Move from Docker volume to local filesystem
|
||||
docker run --rm -v "azuracast_backups:/backup_src" \
|
||||
-v "$BACKUP_DIR:/backup_dest" \
|
||||
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||
d run --rm -v "azuracast_backups:/backup_src" \
|
||||
-v "$BACKUP_DIR:/backup_dest" \
|
||||
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||
|
||||
echo "Backup completed."
|
||||
exit
|
||||
|
@ -703,14 +722,14 @@ restore() {
|
|||
exit 1
|
||||
fi
|
||||
|
||||
docker-compose down
|
||||
dc down
|
||||
|
||||
# Remove most AzuraCast volumes but preserve some essential ones.
|
||||
docker volume rm -f $(docker volume ls | grep 'azuracast' | grep -v 'station\|install' | awk 'NR>1 {print $2}')
|
||||
docker volume create azuracast_backups
|
||||
d volume rm -f $(d volume ls | grep 'azuracast' | grep -v 'station\|install' | awk 'NR>1 {print $2}')
|
||||
d volume create azuracast_backups
|
||||
|
||||
# Move from local filesystem to Docker volume
|
||||
docker run --rm -v "$BACKUP_DIR:/backup_src" \
|
||||
d run --rm -v "$BACKUP_DIR:/backup_src" \
|
||||
-v "azuracast_backups:/backup_dest" \
|
||||
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||
|
||||
|
@ -720,25 +739,25 @@ restore() {
|
|||
.env --file .env set AZURACAST_PGID="$(id -g)"
|
||||
fi
|
||||
|
||||
docker-compose run --rm web -- azuracast_restore "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||
dc run --rm web -- azuracast_restore "/var/azuracast/backups/${BACKUP_FILENAME}" "$@"
|
||||
|
||||
# Move file back from volume to local filesystem
|
||||
docker run --rm -v "azuracast_backups:/backup_src" \
|
||||
d run --rm -v "azuracast_backups:/backup_src" \
|
||||
-v "$BACKUP_DIR:/backup_dest" \
|
||||
busybox mv "/backup_src/${BACKUP_FILENAME}" "/backup_dest/${BACKUP_FILENAME}"
|
||||
|
||||
docker-compose down --timeout 30
|
||||
docker-compose up -d
|
||||
dc down --timeout 30
|
||||
dc up -d
|
||||
else
|
||||
docker-compose down
|
||||
dc down
|
||||
|
||||
# Remove most AzuraCast volumes but preserve some essential ones.
|
||||
docker volume rm -f $(docker volume ls | grep 'azuracast' | grep -v 'station\|backups\|install' | awk 'NR>1 {print $2}')
|
||||
d volume rm -f $(d volume ls | grep 'azuracast' | grep -v 'station\|backups\|install' | awk 'NR>1 {print $2}')
|
||||
|
||||
docker-compose run --rm web -- azuracast_restore "$@"
|
||||
dc run --rm web -- azuracast_restore "$@"
|
||||
|
||||
docker-compose down --timeout 30
|
||||
docker-compose up -d
|
||||
dc down --timeout 30
|
||||
dc up -d
|
||||
fi
|
||||
fi
|
||||
exit
|
||||
|
@ -761,18 +780,18 @@ restore-legacy() {
|
|||
cd "$APP_BASE_DIR" || exit
|
||||
|
||||
if [ -f "$BACKUP_PATH" ]; then
|
||||
docker-compose down --timeout 30
|
||||
dc down --timeout 30
|
||||
|
||||
docker volume rm azuracast_db_data azuracast_station_data
|
||||
docker volume create azuracast_db_data
|
||||
docker volume create azuracast_station_data
|
||||
d volume rm azuracast_db_data azuracast_station_data
|
||||
d volume create azuracast_db_data
|
||||
d volume create azuracast_station_data
|
||||
|
||||
docker run --rm -v "$BACKUP_DIR:/backup" \
|
||||
d run --rm -v "$BACKUP_DIR:/backup" \
|
||||
-v azuracast_db_data:/azuracast/db \
|
||||
-v azuracast_station_data:/azuracast/stations \
|
||||
busybox tar zxvf "/backup/$BACKUP_FILENAME"
|
||||
|
||||
docker-compose up -d
|
||||
dc up -d
|
||||
else
|
||||
echo "File $BACKUP_PATH does not exist in this directory. Nothing to restore."
|
||||
exit 1
|
||||
|
@ -788,9 +807,9 @@ restore-legacy() {
|
|||
uninstall() {
|
||||
if ask "This operation is destructive and will wipe your existing Docker containers. Continue?" N; then
|
||||
|
||||
docker-compose down -v
|
||||
docker-compose rm -f
|
||||
docker volume prune -f
|
||||
dc down -v
|
||||
dc rm -f
|
||||
d volume prune -f
|
||||
|
||||
echo "All AzuraCast Docker containers and volumes were removed."
|
||||
echo "To remove *all* Docker containers and volumes, run:"
|
||||
|
@ -824,8 +843,8 @@ letsencrypt-create() {
|
|||
change-ports() {
|
||||
setup-ports
|
||||
|
||||
docker-compose down --timeout 30
|
||||
docker-compose up -d
|
||||
dc down --timeout 60
|
||||
dc up -d
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -833,12 +852,12 @@ change-ports() {
|
|||
#
|
||||
up() {
|
||||
echo "Starting up AzuraCast services..."
|
||||
docker-compose up -d
|
||||
dc up -d
|
||||
}
|
||||
|
||||
down() {
|
||||
echo "Shutting down AzuraCast services..."
|
||||
docker-compose down --timeout 30
|
||||
dc down --timeout 60
|
||||
}
|
||||
|
||||
restart() {
|
||||
|
@ -852,9 +871,6 @@ cd "$( dirname "${BASH_SOURCE[0]}" )" || exit
|
|||
# Podman support
|
||||
if [[ $(command -v podman) ]]; then
|
||||
PODMAN_MODE=1
|
||||
|
||||
alias docker=podman
|
||||
alias docker-compose=podman-compose
|
||||
fi
|
||||
|
||||
"$@"
|
||||
|
|
Loading…
Reference in New Issue