-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathsample-environment-variable-file.env
More file actions
236 lines (205 loc) · 10.7 KB
/
sample-environment-variable-file.env
File metadata and controls
236 lines (205 loc) · 10.7 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
# Consider this a guide for the environment variables required to deploy ClassTranscribe
# Make a copy of this file and rename to - ".env" and place in Deployment/
# ALL VARIABLES HAVE TO BE SET UNLESS MENTIONED OTHERWISE
# ----------------------------------------------------------------------
# DATA DIRECTORY
# ----------------------------------------------------------------------
# Description: The path to store all data of classtranscribe
# Instruction: Substitute with path passed an argument to create_directories.sh (For more info, check readme.md)
# Example:
# DATA=/classtranscribe_data
# ----------------------------------------------------------------------
DATA=<DATA>
# ----------------------------------------------------------------------
# HOST_NAME
# ----------------------------------------------------------------------
# Description: The host name for where the website will be hosted
# Instruction: Subsititute with the host name.
# Example:
# HOST_NAME=my.classtranscribe.com
# ----------------------------------------------------------------------
HOST_NAME=<HOST_NAME>
# ----------------------------------------------------------------------
# ADMIN CONFIGURATION
# ----------------------------------------------------------------------
# Description: These are used as the credentials for the following services - portainer, db, pgadmin, rabbitmq, traefik, letsencrypt
# Instruction: Subsititute with a valid email address and a strong password
# Protip: To generate password on bash run, "openssl rand -base64 16"
# Example:
# ADMIN_PASSWORD=MyVeryStrongPassword123
ADMIN_USER_ID=<ADMIN_USER_ID>
ADMIN_PASSWORD=<ADMIN_PASSWORD>
# ----------------------------------------------------------------------
# TEST ACCOUNT
# ----------------------------------------------------------------------
# Description: This property is to enable a testuser for local development only.
# CAUTION: DO NOT ENABLE ON A PRODUCTION SERVER.
# Instruction: Subsititute with true or false
# Example:
# TEST_SIGN_IN=false
TEST_SIGN_IN=<TEST_SIGN_IN>
# ----------------------------------------------------------------------
# JWT CONFIGURATION
# ----------------------------------------------------------------------
# Description: This is used to generate authentication cookies by the api server.
# Instruction: Substitute with a long random string.
# Protip: To generate string on bash run, "openssl rand -base64 32"
# Example:
# JWT_KEY=cl9rdcPxDA6I9ARxJPlNYaZF7Xae7mgS7iqibI48xYQ=
JWT_KEY=<JWT_KEY>
# ----------------------------------------------------------------------
# AUTH0 CONFIGURATION
# ----------------------------------------------------------------------
# Description: Auth0 is used as the authentication middleware for ClassTranscribe.
# Instructions:
# Step 1. Create a tenant on Auth0
# Step 2. Set up the Connections on your Auth0 tenant (For more info, search google for "Auth0 Connections")
# Step 3. Create a Single Page Application on the Auth0 tenant.#
# Step 4. On auth0 fill in the following fields (If HOST_NAME used above is my.classtranscribe.com)
# a. Allowed Callback URLs - https://my.classtranscribe.com,https://my.classtranscribe.com/login
# b. Allowed Logout URLs - https://my.classtranscribe.com
# c. Allowed Web Origins - https://my.classtranscribe.com
# d. Allowed Origins(CORS) - https://my.classtranscribe.com
# Step 5. Save Changes
# Step 6. Subsititute with the auth0 domain and client Id generated.
# Example:
# AUTH0_CLIENT_ID=laksjfdsahfjkhfkjhsdhffj
# AUTH0_DOMAIN=something.auth0.com
AUTH0_CLIENT_ID=<AUTH0_CLIENT_ID>
AUTH0_DOMAIN=<AUTH0_DOMAIN>
# ----------------------------------------------------------------------
# PORTAINER CONFIGURATION
# ----------------------------------------------------------------------
# Description: To set the password for the portainer dashboard it must be passed to portainer as a hash.
# Instruction: 1. Run the following command below, (Substitute <ADMIN_PASSWORD> with the password generated above)
# "docker run --rm httpd:2.4-alpine htpasswd -nbB admin '<ADMIN_PASSWORD>' | cut -d ":" -f 2"
# 2. Substitute generated string below.
# (For more info, refer https://portainer.readthedocs.io/en/stable/configuration.html)
# Example: If ADMIN_PASSWORD is Test123, generated hash is $2y$05$KRCr38aM/Avz8fXMDPN3aetQSCql.H5fMXzMcdyX7XNw5HauB20ay
# PORTAINER_PASSWORD=$2y$05$KRCr38aM/Avz8fXMDPN3aetQSCql.H5fMXzMcdyX7XNw5HauB20ay
PORTAINER_PASSWORD=<PORTAINER_PASSWORD>
# ----------------------------------------------------------------------
# TRAEFIK CONFIGURATION (Modify if deployed on server)
# ----------------------------------------------------------------------
# Traefik is the reverse proxy used for routing, more info - https://docs.traefik.io/
# Description: TRAEFIK_IPFILTER accepts / refuses requests based on the client IP.
# For more info - https://docs.traefik.io/v2.0/middlewares/ipwhitelist/
# Instruction: Subsititute with required ipwhitelist
# Example:
# TRAEFIK_IPFILTER=123.123.0.0/12, 141.142.0.0/16, 0.0.0.0/0
TRAEFIK_IPFILTER=<TRAEFIK_IPFILTER>
# Description: Traefik could generate SSL certificates for additional host names.
# Instruction: Specify up to 2 additional hosts to generate SSL certificates for.
# Eg. TRAEFIK_ADDITIONAL_HOST1=my.classtranscribe.org
# Eg. TRAEFIK_ADDITIONAL_HOST2=my.classtranscribe.net
TRAEFIK_ADDITIONAL_HOST1=<TRAEFIK_ADDITIONAL_HOST1>
TRAEFIK_ADDITIONAL_HOST2=<TRAEFIK_ADDITIONAL_HOST2>
# ----------------------------------------------------------------------
# SLACK WEBHOOK CONFIGURATION
# ----------------------------------------------------------------------
# Description: To enable logging and monitoring messages to slack.
# Instruction: Create an incoming webhook on Slack, (For more info, https://api.slack.com/messaging/webhooks)
# Subsititute the url below, also substitute in dem_conf.yml
# Example:
# SLACK_WEBHOOK_URL=https://hooks.slack.com/services/abcdef/ghijkl/lkdsjfldskfksldljf
SLACK_WEBHOOK_URL=<SLACK_WEBHOOK_URL>
# ----------------------------------------------------------------------
# AZURE APPLICATION INSIGHTS CONFIGURATION
# ----------------------------------------------------------------------
# Description: Azure Application Insights allows reporting of all exceptions to Azure.
# Instruction: Create an Azure Application Insights service on Azure (For more info, google "Azure Application Insights")
# And, substitute below with the application insights key (aka Instruentation Key)
# Example:
# APPLICATION_INSIGHTS_KEY=6f7a5ee2-0811-4e3a-beaa-498af35d6ea2
APPLICATION_INSIGHTS_KEY=<APPLICATION_INSIGHTS_KEY>
# ----------------------------------------------------------------------
# Task Engine Configuration
# ----------------------------------------------------------------------
# Task Engine uses various media providers, their respective API keys need to be configured
# Youtube
# Description: To enable Youtube Integration
# Instruction: Generate a youtube api key and subsititute below. (For more info, https://developers.google.com/youtube/registering_an_application)
# Eg. YOUTUBE_API_KEY=AIzaSyDKnpdznYOFxm_IRnrclGh4oSdQloZsdfsdo
YOUTUBE_API_KEY=<YOUTUBE_API_KEY>
# Azure
# Description: ClassTranscribe uses Azure Cognitive Services to produce transcriptions, these require azure subscription keys
# Instruction: Generate and subsititute with subscription keys and regions, (For more info, https://azure.microsoft.com/en-us/services/cognitive-services/speech-to-text/)
# Multiple keys can be used, use a comma as separator between key and region and semi-colon to add multiple.
# Example:
# AZURE_SUBSCRIPTION_KEYS=bbea4c3982b54a3b82dsffs32a07,eastus;6641185bfc2b475c80a47w,eastus;b647dbb6798b407aa51761d0asdfsf511,eastus
AZURE_SUBSCRIPTION_KEYS=<AZURE_SUBSCRIPTION_KEYS>
# Kaltura
# Description: To enable a Katura/Mediaspace integration
# Instruction: Contact Mediaspace admin to obtain the partner_id, token_id and app_token.
# Example:
# KALTURA_PARTNER_ID=123456
# KALTURA_TOKEN_ID=1_abcdef
# KALTURA_APP_TOKEN=asdf65sdf46sa5d4f6665sd4s6f4a
KALTURA_PARTNER_ID=<KALTURA_PARTNER_ID>
KALTURA_TOKEN_ID=<KALTURA_TOKEN_ID>
KALTURA_APP_TOKEN=<KALTURA_APP_TOKEN>
# Box
# Description: To enable a Box integration
# Instruction: Contact Box admin to get client_id and client_secret
# Example:
# BOX_CLIENT_ID=jsdksdfhsdkfhskjdhfskjfhd
# BOX_CLIENT_SECRET=jlksdjfksjlsljslkfjlksjlkdsflk
BOX_CLIENT_ID=<BOX_CLIENT_ID>
BOX_CLIENT_SECRET=<BOX_CLIENT_SECRET>
# ----------------------------------------------------------------------
# FRONTEND CONFIGURATION (Optional)
# ----------------------------------------------------------------------
# Description: Frontend typically points to the same host for the api service, if we need to change this explicitly setting this is required
# Instruction: Subsititute with alternate endpoint
# Example:
# REACT_APP_TESTING_BASE_URL=https://my.classtranscribe2.com
REACT_APP_TESTING_BASE_URL=
# Description: Setting this variable will trigger a hard reload on the uesr's device, whenever a new commit is made to the branch
# Instruction: Subsititute with an endpoint like below
# Example:
# REACT_APP_FRONTEND_COMMIT_ENDPOINT=https://api.github.com/repos/classtranscribe/Frontend/commits/master
REACT_APP_FRONTEND_COMMIT_ENDPOINT=https://api.github.com/repos/classtranscribe/Frontend/commits/master
# ----------------------------------------------------------------------
# RABBITMQ CONFIGURATION (Optional)
# ----------------------------------------------------------------------
# Description: RabbitMQ Prefetch count sets the number of jobs rabbitmq can process in parallel.
# Instruction: Subsititute with an integer, default value is 10 if undefined
# Example:
# RABBITMQ_PREFETCH_COUNT=10
RABBITMQ_PREFETCH_COUNT=<RABBITMQ_PREFETCH_COUNT>
# ----------------------------------------------------------------------
# Fixed Settings for services. DO NOT MODIFY.
# ----------------------------------------------------------------------
#-------TRAEFIK-----------
# Ports on which ClassTranscribe is run, default is 80 and 443
TRAEFIK_HTTP_PORT=80
TRAEFIK_HTTPS_PORT=443
TRAEFIK_HTTPS_OPTIONS=TLS
# Always use https, traffic to http is redirected to https
TRAEFIK_HTTP_REDIRECT=Redirect.EntryPoint:https
TRAEFIK_ACME_ENABLE=true
#-------API-----------
ALLOWED_HOSTS=*
JWT_EXPIRE_DAYS=30
ASPNETCORE_URLS=http://+:80
DEV_ENV=DOCKER
NODE_RPC_SERVER=noderpcserver:50052
PYTHON_RPC_SERVER=pythonrpcserver:50051
RabbitMQServer=rabbitmq
#-------POSTGRES-----------
# Fixed server name, db name and data storage locations
POSTGRES_SERVER_NAME=db
PGDATA=/var/lib/postgresql/data/pgdata
POSTGRES_DB=ct2019db
#-------RPCSERVER-----------
DATA_DIRECTORY=/data
#-------NGINX-----------
NGINX_HTTP_PORT=80
NGINX_HTTPS_PORT=443
VAR=$
#-------FRONTEND-----------
NODE_PATH=src
CHOKIDAR_USEPOLLING=true
#-------PGADMIN-----------
SCRIPT_NAME=/pgadmin