Commit 7808f6

2026-04-13 06:54:51 Anonymous: Initial commit
/dev/null .. backup and restore from prod to other environments.md
@@ 0,0 1,54 @@
+ # Backup and restore from prod to other environments
+
+ Run these commands wherever production is running.
+
+ ```bash
+ export WHERE="/"
+ export DB_NAME="visna_db_new"
+ export BACKUP="${DB_NAME}_backup.tar.gz"
+ export SSH_USER="marco"
+ export TARGET="192.168.40.60"
+ export RETRIEVERS="retrievers_20250730014908.pkl"
+
+ # Backup MongoDB
+ mongodump --db "$DB_NAME" --out .
+ tar -czf "$BACKUP" "$DB_NAME/"
+ scp "$BACKUP" ${SSH_USER}@${TARGET}:/
+
+ # Send retrievers file
+ scp "$RETRIEVERS" ${SSH_USER}@${TARGET}:/
+ ```
+
+ Then run these wherever the container with the target environment is running.
+
+ ```bash
+
+ export ENVIRONMENT="sandbox" # sandbox, staging or production
+ export MONGO_CONTAINER="visna-$ENVIRONMENT-mongodb-1"
+ export VISNA_CONTAINER="visna-$ENVIRONMENT-visna-1"
+ export DB_NAME="visna_db_new"
+ export BACKUP="${DB_NAME}_backup.tar.gz"
+ export RETRIEVERS="retrievers_20250730014908.pkl"
+ export USER="mtamassia@isn.edu.au"
+
+ # Restore backup
+ sudo docker cp "$BACKUP" $MONGO_CONTAINER:/
+ sudo docker exec -it -w / $MONGO_CONTAINER tar -xzf "$BACKUP"
+ sudo docker exec -it -w / $MONGO_CONTAINER mongorestore --db $DB_NAME --username admin --password password --authenticationDatabase admin "$DB_NAME/"
+ rm $BACKUP
+ rm -rf "${DB_NAME}/"
+
+ # Restore retrievers file
+ sudo docker cp "$RETRIEVERS" $VISNA_CONTAINER:/app
+
+ # Create user / make admin
+ sudo docker exec -it -w / $MONGO_CONTAINER mongosh --username admin --password password --authenticationDatabase admin --eval '
+ db.user.insertOne({
+ "userid": "$USER",
+ "user_name": "$USER",
+ "is_admin": true,
+ "tnc_accepted": true
+ });
+ ' $DB_NAME
+ sudo docker exec -it -w / $MONGO_CONTAINER mongosh --username admin --password password --authenticationDatabase admin --eval 'db.user.updateOne({user_name: "$USER"}, {$set: {is_admin: true}})' $DB_NAME
+ ```
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9