Operations

Maintenance

When a new version is available, run:

./update.sh

The script performs the following steps:

  1. Pulls the latest Docker images

  2. Backs up the current volume data

  3. Starts Docker services

  4. Creates a database backup

  5. Runs database migrations

  6. Cleans up unused Docker resources

Backup Strategy

  • 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.

Backup Recovery

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

zcat "/opt/dataspace/Platform/volume/DataSpace_db_backup/<choose_your_backup>.sql.gz" | psql --host="database" --username="postgres" --dbname="DataSpace" -W

Manual Service Management

# 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

Last updated