43 lines
1.0 KiB
JavaScript
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,
|
|
},
|
|
}); |