Skip to content

Operations

When a new version is available, run:

Terminal window
./update.sh

The script performs the following steps:

  1. Pulls the latest Docker images
  2. Backs up the current volume data
  3. Creates a database backup
  4. Runs database migrations
  5. Starts all Docker services
  6. Cleans up unused Docker resources
  • Daily automated database backups via pgbackups service
  • Volume data backup before updates
  • Retention policies:
    • 7 days of daily backups
    • 4 weeks of weekly backups
    • 6 months of monthly backups

The specifics can be adjusted in the docker-config file.

First, make sure there are no connections to the database by terminating all active connections:

SELECT * FROM pg_stat_activity WHERE pg_stat_activity.datname='DataSpace';
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'DataSpace';

Then drop and recreate the database:

DROP DATABASE "DataSpace";
CREATE DATABASE "DataSpace";

Finally, add the backup:

Terminal window
zcat "/opt/dataspaceswiss/DataSpace/volume/DataSpace_db_backup/<choose_your_backup>.sql.gz" | psql --host="database" --username="postgres" --dbname="DataSpace" -W
Terminal window
# Start services
docker compose --file docker-compose.yml --env-file .env up -d
# Stop services
docker compose down
# View logs
docker compose logs -f
# Restart specific service
docker compose restart api