mirror of
https://gh.wpcy.net/https://github.com/WeblateOrg/scripts.git
synced 2026-04-24 14:42:19 +08:00
37 lines
899 B
Bash
Executable file
37 lines
899 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
cd /home/weblate/weblate
|
|
|
|
# Stop other containers
|
|
docker compose stop weblate cache
|
|
|
|
# Dump current database
|
|
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
|
|
|
|
# Stop database
|
|
docker compose stop database
|
|
|
|
# Remove container, volume and directory
|
|
docker compose down
|
|
docker compose rm -v database
|
|
docker volume remove weblate_postgres-data
|
|
rm -rf /home/weblate/postgresql/
|
|
mkdir -p /home/weblate/postgresql/
|
|
|
|
# Edit docker-compose.yml
|
|
sed -i \
|
|
-e 's/image: postgres:.*/image: postgres:18-alpine/' \
|
|
-e 's@postgres-data:/var/lib/postgresql/data@postgres-data:/var/lib/postgresql@' \
|
|
docker-compose.yml
|
|
|
|
# Start new server
|
|
docker compose up -d --wait database
|
|
sleep 5
|
|
|
|
# Restore content
|
|
cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
|
|
|
|
# Start remaining containers
|
|
docker compose up -d
|