mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-11 04:52:36 +10:00
67 lines
1.6 KiB
TypeScript
67 lines
1.6 KiB
TypeScript
import { randomBytes } from 'crypto';
|
|
import fs from 'fs/promises';
|
|
|
|
const envMap = {
|
|
TZ: 'UTC',
|
|
PUBLIC_URL: '',
|
|
PUBLIC_SERVER_URL: '',
|
|
PUBLIC_GOOGLE_CLIENT_ID: '',
|
|
POSTGRES_DB: 'postgres',
|
|
POSTGRES_USER: 'postgres',
|
|
POSTGRES_PASSWORD: 'postgres',
|
|
SECRET_KEY: '',
|
|
POSTGRES_HOST: 'localhost',
|
|
POSTGRES_PORT: '5432',
|
|
POSTGRES_SSL_CERT: '',
|
|
JWT_SECRET: '',
|
|
JWT_EXPIRY_TIME: '604800',
|
|
GOOGLE_CLIENT_SECRET: '',
|
|
GOOGLE_API_KEY: '',
|
|
MAIL_FROM_NAME: '',
|
|
MAIL_FROM_EMAIL: '',
|
|
MAIL_HOST: '',
|
|
MAIL_PORT: '',
|
|
MAIL_USERNAME: '',
|
|
MAIL_PASSWORD: '',
|
|
STORAGE_BUCKET: '',
|
|
STORAGE_REGION: '',
|
|
STORAGE_ENDPOINT: '',
|
|
STORAGE_URL_PREFIX: '',
|
|
STORAGE_ACCESS_KEY: '',
|
|
STORAGE_SECRET_KEY: '',
|
|
PDF_DELETION_TIME: '345600000',
|
|
PUBLIC_FLAG_DISABLE_SIGNUPS: 'false',
|
|
};
|
|
|
|
const main = async () => {
|
|
// URLs
|
|
// If running in a Gitpod environment, auto generated the URLs
|
|
if (process.env.GITPOD_WORKSPACE_URL) {
|
|
const baseUrl = new URL(process.env.GITPOD_WORKSPACE_URL!).host;
|
|
|
|
envMap['PUBLIC_SERVER_URL'] = `https://3100-${baseUrl}`;
|
|
envMap['PUBLIC_URL'] = `https://3000-${baseUrl}`;
|
|
}
|
|
// Otherwise, fallback to localhost
|
|
else {
|
|
envMap['PUBLIC_SERVER_URL'] = 'https://localhost:3100';
|
|
envMap['PUBLIC_URL'] = 'https://localhost:3000';
|
|
}
|
|
|
|
// Secret Key
|
|
envMap['SECRET_KEY'] = randomBytes(20).toString('hex');
|
|
envMap['JWT_SECRET'] = randomBytes(40).toString('hex');
|
|
|
|
const envFile = Object.entries(envMap)
|
|
.reduce((acc, [key, value]) => {
|
|
acc.push(`${key}=${value}`);
|
|
|
|
return acc;
|
|
}, [] as string[])
|
|
.join('\n');
|
|
|
|
await fs.writeFile('.env', envFile);
|
|
};
|
|
|
|
main();
|