Files
romm-startos/startos/backups.ts
T
2026-08-08 11:08:00 -05:00

24 lines
720 B
TypeScript

import { sdk } from './sdk'
import { storeJson } from './fileModels/store.json'
import { databaseName, databaseUser } from './utils'
export const { createBackup, restoreInit } = sdk.setupBackups(
async ({ effects }) =>
sdk.Backups.withMysqlDump({
imageId: 'mariadb',
dbVolume: 'database',
datadir: '/var/lib/mysql',
database: databaseName,
user: databaseUser,
password: async () => {
const store = await storeJson.read().once()
if (!store?.databasePassword) {
throw new Error('RomM database password is missing')
}
return store.databasePassword
},
engine: 'mariadb',
readyTimeout: 120000,
}).addVolume('main'),
)