147 lines
5.8 KiB
TypeScript
147 lines
5.8 KiB
TypeScript
import envPaths from 'env-paths';
|
|
const paths = envPaths('futureporn', { suffix: '' });
|
|
|
|
const env = (() => {
|
|
if (!process.env.POCKETBASE_URL) throw new Error('POCKETBASE_URL missing in env');
|
|
if (!process.env.PORT) throw new Error('PORT missing in env');
|
|
if (!process.env.WORKER_PORT) throw new Error('WORKER_PORT missing in env');
|
|
if (!process.env.VALKEY_PORT) throw new Error('VALKEY_PORT missing in env');
|
|
if (!process.env.POCKETBASE_USERNAME) throw new Error('POCKETBASE_USERNAME missing in env');
|
|
if (!process.env.POCKETBASE_PASSWORD) throw new Error('POCKETBASE_PASSWORD missing in env');
|
|
if (!process.env.MUX_TOKEN_ID) throw new Error('MUX_TOKEN_ID missing in env');
|
|
if (!process.env.MUX_TOKEN_SECRET) throw new Error('MUX_TOKEN_SECRET missing in env');
|
|
if (!process.env.MUX_SIGNING_KEY_ID) throw new Error('MUX_SIGNING_KEY_ID missing in env');
|
|
if (!process.env.MUX_SIGNING_KEY_PRIVATE_KEY) throw new Error('MUX_SIGNING_KEY_PRIVATE_KEY missing in env');
|
|
if (!process.env.PATREON_CREATOR_ACCESS_TOKEN) throw new Error('PATREON_CREATOR_ACCESS_TOKEN missing in env');
|
|
if (!process.env.VIBEUI_DIR) throw new Error('VIBEUI_DIR missing in env');
|
|
if (!process.env.WORKER_DIR) throw new Error('WORKER_DIR missing in env');
|
|
if (!process.env.AWS_BUCKET) throw new Error('AWS_BUCKET missing in env');
|
|
if (!process.env.AWS_ACCESS_KEY_ID) throw new Error('AWS_ACCESS_KEY_ID missing in env');
|
|
if (!process.env.AWS_SECRET_ACCESS_KEY) throw new Error('AWS_SECRET_ACCESS_KEY missing in env');
|
|
if (!process.env.AWS_REGION) throw new Error('AWS_REGION missing in env');
|
|
if (!process.env.AWS_ENDPOINT) throw new Error('AWS_ENDPOINT missing in env');
|
|
if (!process.env.V1_AWS_BUCKET) throw new Error('V1_AWS_BUCKET missing in env');
|
|
if (!process.env.V1_AWS_ACCESS_KEY_ID) throw new Error('V1_AWS_ACCESS_KEY_ID missing in env');
|
|
if (!process.env.V1_AWS_SECRET_ACCESS_KEY) throw new Error('V1_AWS_SECRET_ACCESS_KEY missing in env');
|
|
if (!process.env.V1_AWS_REGION) throw new Error('V1_AWS_REGION missing in env');
|
|
if (!process.env.V1_AWS_ENDPOINT) throw new Error('V1_AWS_ENDPOINT missing in env');
|
|
if (!process.env.FANSLY_USERNAME) throw new Error('FANSLY_USERNAME missing in env');
|
|
if (!process.env.FANSLY_PASSWORD) throw new Error('FANSLY_PASSWORD missing in env');
|
|
if (!process.env.APIFY_TOKEN) throw new Error('APIFY_TOKEN missing in env');
|
|
if (!process.env.NODE_ENV) throw new Error('APIFY_TOKEN missing in env');
|
|
if (!process.env.SEEDBOX_SFTP_HOST) throw new Error('SEEDBOX_SFTP_HOST missing in env');
|
|
if (!process.env.SEEDBOX_SFTP_PORT) throw new Error('SEEDBOX_SFTP_PORT missing in env');
|
|
if (!process.env.SEEDBOX_SFTP_USERNAME) throw new Error('SEEDBOX_SFTP_USERNAME missing in env');
|
|
if (!process.env.SEEDBOX_SFTP_PASSWORD) throw new Error('SEEDBOX_SFTP_PASSWORD missing in env');
|
|
if (!process.env.SEEDBOX_SFTP_KEY_FILE) throw new Error('SEEDBOX_SFTP_KEY_FILE missing in env');
|
|
if (!process.env.QBT_HOST) throw new Error('QBT_HOST missing in env');
|
|
if (!process.env.QBT_PORT) throw new Error('QBT_PORT missing in env');
|
|
if (!process.env.QBT_PASSWORD) throw new Error('QBT_PASSWORD missing in env');
|
|
if (!process.env.QBT_USERNAME) throw new Error('QBT_USERNAME missing in env');
|
|
if (!process.env.WORKER_WORKERS) throw new Error('WORKER_WORKERS missing in env');
|
|
if (!process.env.BUNNY_ZONE_URL) throw new Error('BUNNY_ZONE_URL missing in env');
|
|
if (!process.env.BUNNY_TOKEN_KEY) throw new Error('BUNNY_TOKEN_KEY missing in env');
|
|
if (!process.env.TRACKER_SFTP_HOST) throw new Error('TRACKER_SFTP_HOST missing in env');
|
|
if (!process.env.TRACKER_SFTP_PORT) throw new Error('TRACKER_SFTP_PORT missing in env');
|
|
if (!process.env.TRACKER_SFTP_USERNAME) throw new Error('TRACKER_SFTP_USERNAME missing in env');
|
|
if (!process.env.TRACKER_SFTP_KEY_FILE) throw new Error('TRACKER_SFTP_KEY_FILE missing in env');
|
|
|
|
const CACHE_ROOT = process.env?.CACHE_ROOT || paths.cache;
|
|
|
|
const {
|
|
PORT,
|
|
WORKER_PORT,
|
|
POCKETBASE_URL,
|
|
POCKETBASE_USERNAME,
|
|
POCKETBASE_PASSWORD,
|
|
MUX_TOKEN_ID,
|
|
MUX_TOKEN_SECRET,
|
|
MUX_SIGNING_KEY_ID,
|
|
MUX_SIGNING_KEY_PRIVATE_KEY,
|
|
PATREON_CREATOR_ACCESS_TOKEN,
|
|
VIBEUI_DIR,
|
|
WORKER_DIR,
|
|
AWS_BUCKET,
|
|
AWS_ACCESS_KEY_ID,
|
|
AWS_SECRET_ACCESS_KEY,
|
|
AWS_REGION,
|
|
AWS_ENDPOINT,
|
|
V1_AWS_BUCKET,
|
|
V1_AWS_ACCESS_KEY_ID,
|
|
V1_AWS_SECRET_ACCESS_KEY,
|
|
V1_AWS_REGION,
|
|
V1_AWS_ENDPOINT,
|
|
FANSLY_USERNAME,
|
|
FANSLY_PASSWORD,
|
|
APIFY_TOKEN,
|
|
NODE_ENV,
|
|
SEEDBOX_SFTP_HOST,
|
|
SEEDBOX_SFTP_PORT,
|
|
SEEDBOX_SFTP_USERNAME,
|
|
SEEDBOX_SFTP_PASSWORD,
|
|
SEEDBOX_SFTP_KEY_FILE,
|
|
TRACKER_SFTP_HOST,
|
|
TRACKER_SFTP_PORT,
|
|
TRACKER_SFTP_USERNAME,
|
|
TRACKER_SFTP_PASSWORD,
|
|
TRACKER_SFTP_KEY_FILE,
|
|
VALKEY_PORT,
|
|
QBT_HOST,
|
|
QBT_USERNAME,
|
|
QBT_PASSWORD,
|
|
QBT_PORT,
|
|
WORKER_WORKERS,
|
|
BUNNY_ZONE_URL,
|
|
BUNNY_TOKEN_KEY,
|
|
} = process.env
|
|
return {
|
|
CACHE_ROOT,
|
|
PORT,
|
|
WORKER_PORT,
|
|
POCKETBASE_URL,
|
|
POCKETBASE_USERNAME,
|
|
POCKETBASE_PASSWORD,
|
|
MUX_TOKEN_ID,
|
|
MUX_TOKEN_SECRET,
|
|
MUX_SIGNING_KEY_ID,
|
|
MUX_SIGNING_KEY_PRIVATE_KEY,
|
|
PATREON_CREATOR_ACCESS_TOKEN,
|
|
VIBEUI_DIR,
|
|
WORKER_DIR,
|
|
AWS_BUCKET,
|
|
AWS_ACCESS_KEY_ID,
|
|
AWS_SECRET_ACCESS_KEY,
|
|
AWS_REGION,
|
|
AWS_ENDPOINT,
|
|
V1_AWS_BUCKET,
|
|
V1_AWS_ACCESS_KEY_ID,
|
|
V1_AWS_SECRET_ACCESS_KEY,
|
|
V1_AWS_REGION,
|
|
V1_AWS_ENDPOINT,
|
|
FANSLY_PASSWORD,
|
|
FANSLY_USERNAME,
|
|
APIFY_TOKEN,
|
|
NODE_ENV,
|
|
SEEDBOX_SFTP_HOST,
|
|
SEEDBOX_SFTP_PORT,
|
|
SEEDBOX_SFTP_USERNAME,
|
|
SEEDBOX_SFTP_PASSWORD,
|
|
SEEDBOX_SFTP_KEY_FILE,
|
|
TRACKER_SFTP_HOST,
|
|
TRACKER_SFTP_PORT,
|
|
TRACKER_SFTP_USERNAME,
|
|
TRACKER_SFTP_PASSWORD,
|
|
TRACKER_SFTP_KEY_FILE,
|
|
VALKEY_PORT,
|
|
QBT_HOST,
|
|
QBT_USERNAME,
|
|
QBT_PASSWORD,
|
|
QBT_PORT,
|
|
WORKER_WORKERS,
|
|
BUNNY_ZONE_URL,
|
|
BUNNY_TOKEN_KEY,
|
|
}
|
|
})()
|
|
|
|
export default env;
|