2025-11-05 20:49:00 -09:00

43 lines
1.0 KiB
JavaScript

#!/usr/bin/env node
import PocketBase from 'pocketbase';
import { spawn } from 'node:child_process';
import util from 'node:util';
const spawnAsync = util.promisify(spawn);
if (!process.env.POCKETBASE_PASSWORD) throw new Error('POCKETBASE_PASSWORD missing in env');
if (!process.env.POCKETBASE_USERNAME) throw new Error('POCKETBASE_USERNAME missing in env');
if (!process.env.APPURL) throw new Error('APPURL missing in env');
const pb = new PocketBase('http://localhost:8090');
await pb
.collection("_superusers")
.authWithPassword(process.env.POCKETBASE_USERNAME, process.env.POCKETBASE_PASSWORD);
// change to the production APPURL
await pb.settings.update({
meta: {
appName: 'Futureporn',
appUrl: 'https://futureporn.net',
},
});
// upload the site
spawnAsync('rsync', [
'-avz',
'-e',
'ssh',
'.',
'root@fp:/home/pb/pb'
]);
// @see https://pocketbase.io/docs/api-settings/#update-settings
// put it back to dev app url
await pb.settings.update({
meta: {
appName: 'Futureporn',
appUrl: process.env.APPURL,
},
});