-
Notifications
You must be signed in to change notification settings - Fork 9
/
.env.example
90 lines (64 loc) · 2.3 KB
/
.env.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#### Instructions:
# Because the .env files will not be commited to git,
# you should follow the process below to reproduce it.
#### 1. Create a .env file and add the values for each environment e.g.
# Please take note that the dummy values below will not work.
# They are just to show you what yours shoud look like.
NODE_ENV=development
DB_DIALECT=postgres
DB_STRING_DEVELOPMENT=dev://dev:devpasswd:5555/
DB_HOST_DEVELOPMENT=localhost
DB_NAME_DEVELOPMENT=db_dev
DB_USER_DEVELOPMENT=devUser
DB_PASSWORD_DEVELOPMENT=devPassword
DB_STRING_STAGING=staging://staginguser:stagingpasswd:5432/
DB_HOST_STAGING=127.0.0.1
DB_NAME_STAGING=db_staging
DB_USER_STAGING=stagingUser
DB_PASSWORD_STAGING=stagingUser
DB_STRING_PRODUCTION="prod://produser:prodpasswd:3306/"
DB_HOST_PRODUCTION=localhost
DB_NAME_PRODUCTION=db_prod
DB_USER_PRODUCTION=stagingUser
DB_PASSWORD_PRODUCTION=stagingUser
.................
.................
.................
# YOu can add more variables as your app deems fit.
#### 2. Start your application is the required environment e.g.
### From TERMINAL;
# development
NODE_ENV=development <your startup command here>
# OR, production
NODE_ENV=production <your startup command here>
### OR From the startup scripts;
"scripts": {
"start:dev": "NODE_ENV=development <your startup command here>",
"start:staging": "NODE_ENV=staging <your startup command here>",
"start:prod": "NODE_ENV=production <your startup command here>",
},
#### 3. In your application modules, access the .env variables for the working environment.
#### Using 'development' environment as our case-study:
if (process.env.NODE_ENV !== 'production') {
require('dotenv').config()
# OR; if using ES6:
import { config } from dotenv;
config();
}
# get the current working environment && convert to uppercase
const thisENV = (process.env.NODE_ENV).toUpperCase();
# access the environment variables for this environment (ES6 style):
const dbUri = process.env[`${DB_URI}_${thisENV}`];
const dbUser = process.env[`${DB_USER}_${thisENV}`];
const dbPassword = process.env[`${DB_PASSWORD}_${thisENV}`];
# Enviroment variables needed for Sequelize
DEV_DB_URL
DEV_DB_USER
DEV_DB_PASSWORD
DEV_DATABASE
# Enviroment variables for google
GOOGLE_CLIENT_ID
GOOGLE_SECRET
# Enviroment variables for facebook
FACEBOOK_CLIENT_ID
FACEBOOK_SECRET