coderank-server-data/scripts/restore.ts
2026-01-26 15:53:24 +01:00

28 lines
858 B
TypeScript

import datasquirel from "@moduletrace/datasquirel";
import { execSync, type ExecSyncOptions } from "child_process";
import path from "path";
import s3DownloadFile from "../utils/s3-download";
const BACKUP_DIR = `/root/backups`;
const BACKUP_FILE_NAME = "backup.tar.xz";
const BACKUP_DIR_BACKUP = path.join(BACKUP_DIR, `.backup`);
const DOCKER_VOLUMES_DIR = "/var/lib/docker/volumes";
const DOCKER_VOLUMES_BACKUP_DIR = path.join(
BACKUP_DIR_BACKUP,
`docker`,
`volumes`,
);
const R2_FILE_NAME = `${process.env.CODERANK_HOST_DOMAIN}.tar.xz`;
const R2_FOLDER = `archives/servers`;
const BACKUP_FILE_TAR = path.join(BACKUP_DIR, R2_FILE_NAME);
const execOpts: ExecSyncOptions = {
stdio: ["inherit", "inherit", "ignore"],
};
await s3DownloadFile({
downloadPath: BACKUP_FILE_TAR,
downloadFileName: R2_FILE_NAME,
folder: R2_FOLDER,
});