41 lines
1.4 KiB
JavaScript
41 lines
1.4 KiB
JavaScript
import { execSync } from 'node:child_process';
|
|
import path from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const root = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
function dockerGateway() {
|
|
try {
|
|
const out = execSync("ip -4 route show default dev docker0 2>/dev/null | awk '{print $3}'", {
|
|
encoding: 'utf8',
|
|
}).trim();
|
|
if (out) return out;
|
|
} catch {
|
|
// fall through
|
|
}
|
|
return '172.17.0.1';
|
|
}
|
|
|
|
export const HOST = process.env.S3_BACKUP_HOST || dockerGateway();
|
|
export const BIND = process.env.S3_BACKUP_BIND || '0.0.0.0';
|
|
export const PORT = Number(process.env.S3_BACKUP_PORT || 19443);
|
|
export const BUCKET = process.env.S3_BACKUP_BUCKET || 'sqlbackups';
|
|
export const ACCESS_KEY = process.env.S3_BACKUP_ACCESS_KEY || 'jtlsrv-s3';
|
|
export const SECRET_KEY = process.env.S3_BACKUP_SECRET_KEY || 'jtlsrv-s3-secret';
|
|
export const REGION = process.env.S3_BACKUP_REGION || 'us-east-1';
|
|
|
|
export const DATA_DIR = path.join(root, 'data', BUCKET);
|
|
export const TMP_DIR = path.join(root, 'tmp');
|
|
export const CERTS_DIR = path.join(root, 'certs');
|
|
export const CA_CERT = path.join(CERTS_DIR, 'ca.pem');
|
|
export const SERVER_KEY = path.join(CERTS_DIR, 'server-key.pem');
|
|
export const SERVER_CERT = path.join(CERTS_DIR, 'server-cert.pem');
|
|
|
|
export function s3BaseUrl() {
|
|
return `s3://${HOST}:${PORT}/${BUCKET}`;
|
|
}
|
|
|
|
export function httpsBaseUrl() {
|
|
return `https://${HOST}:${PORT}`;
|
|
}
|