Skip to content

Commit baf3995

Browse files
committed
Added env parameters
1 parent 975aa86 commit baf3995

File tree

6 files changed

+87
-18
lines changed

6 files changed

+87
-18
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
- Docker (docker deployment)
66

77
## Docker Deployment
8-
- `MYSQL_DATABASE` and `MYSQL_ROOT_PASSWORD` might be changed. You need to use these values during Vanilla Forums
8+
- Create `vanilla.env` and copy the contents of `sample.vanilla.env` into `vanilla.env`. Configure parameters.
9+
- Create `mysql.env` and copy the contents of `sample.mysql.env` into `mysql.env`. Configure parameters.
10+
`MYSQL_DATABASE` and `MYSQL_ROOT_PASSWORD` might be changed. You need to use these values during Vanilla Forums
911
installation.These variables are mandatory.
1012
`MYSQL_ROOT_PASSWORD` specifies the password that will be set for the MySQL root superuser account.
1113
- Run `docker-compose build` to build the image

config/vanilla/bootstrap.early.php

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,19 @@
44
$Database = Gdn::database();
55
$SQL = $Database->sql();
66

7-
// Logging
8-
// saveToConfig('DebugAssets', true);
9-
// saveToConfig('Debug', true);
7+
// DB settings
8+
saveToConfig('Database.Host', getenv('DB_HOSTNAME'), false);
9+
saveToConfig('Database.Name', getenv('DB_DATABASE'), false);
10+
saveToConfig('Database.User', getenv('DB_USERNAME'), false);
11+
saveToConfig('Database.Password', getenv('DB_PASSWORD'), false);
12+
13+
saveToConfig('Garden.Email.SupportName', getenv('MAIL_FROM_NAME'), false);
14+
saveToConfig('Garden.Email.SupportAddress', getenv('MAIL_FROM_ADDRESS'), false);
15+
saveToConfig('Garden.Email.SmtpHost', getenv('MAIL_SMTP_HOSTNAME'), false);
16+
saveToConfig('Garden.Email.SmtpUser', getenv('MAIL_SMTP_USERNAME'), false);
17+
saveToConfig('Garden.Email.SmtpPassword', getenv('MAIL_SMTP_PASSWORD'), false);
18+
saveToConfig('Garden.Email.SmtpPort', getenv('MAIL_SMTP_PORT'), false);
19+
saveToConfig('Garden.Email.SmtpSecurity', getenv('MAIL_SMTP_SECURITY'), false);
1020

1121
//Disable plugins
1222
saveToConfig('EnabledPlugins.stubcontent', false);
@@ -29,9 +39,9 @@
2939

3040
// Add settings for the Topcoder plugin
3141
if(c('Plugins.Topcoder.BaseApiURL') === false) {
32-
saveToConfig('Plugins.Topcoder.BaseApiURL', 'https://api.topcoder-dev.com');
33-
saveToConfig('Plugins.Topcoder.MemberApiURI', '/v3/members');
34-
saveToConfig('Plugins.Topcoder.MemberProfileURL', 'https://www.topcoder.com/members');
42+
saveToConfig('Plugins.Topcoder.BaseApiURL', getenv('TOPCODER_PLUGIN_BASE_API_URL'), false);
43+
saveToConfig('Plugins.Topcoder.MemberApiURI', getenv('TOPCODER_PLUGIN_MEMBER_API_URI'), false);
44+
saveToConfig('Plugins.Topcoder.MemberProfileURL', getenv('TOPCODER_PLUGIN_MEMBER_PROFILE_URL'), false);
3545
}
3646

3747
// Add settings for the Editor plugin
@@ -47,18 +57,39 @@
4757
saveToConfig('Plugins.GooglePrettify.Language', '');
4858
}
4959

60+
// Add settings for the Recaptcha plugin
61+
if(c('Recaptcha.PrivateKey') === false) {
62+
saveToConfig('Recaptcha.PrivateKey', getenv('RECAPTCHA_PLUGIN_PRIVATE_KEY'), false);
63+
saveToConfig('Recaptcha.PublicKey', getenv('RECAPTCHA_PLUGIN_PUBLIC_KEY'), false);
64+
}
65+
5066
//Add settings for the OAuth 2 SSO plugin
5167
if ($SQL->getWhere('UserAuthenticationProvider', ['AuthenticationKey' => 'oauth2'])->numRows() == 0) {
68+
$attributes = array(
69+
'AssociationKey'=> getenv('TOPCODER_AUTH0_ASSOCIATION_KEY'),
70+
'AuthorizeUrl'=> getenv('TOPCODER_AUTH0_AUTHORIZE_URL'),
71+
'TokenUrl'=> getenv('TOPCODER_AUTH0_TOKEN_URL'),
72+
'AcceptedScope'=> getenv('TOPCODER_AUTH0_ACCEPTED_SCOPE'),
73+
'ProfileKeyEmail'=> getenv('TOPCODER_AUTH0_PROFILE_KEY_EMAIL'),
74+
'ProfileKeyPhoto'=> getenv('TOPCODER_AUTH0_PROFILE_KEY_PHOTO'),
75+
'ProfileKeyName'=> getenv('TOPCODER_AUTH0_PROFILE_KEY_NAME'),
76+
'ProfileKeyFullName'=> getenv('TOPCODER_AUTH0_PROFILE_KEY_FULL_NAME'),
77+
'ProfileKeyUniqueID'=> getenv('TOPCODER_AUTH0_PROFILE_KEY_UNIQUE_ID'),
78+
'Prompt'=> getenv('TOPCODER_AUTH0_PROMPT'),
79+
'BearerToken'=> getenv('TOPCODER_AUTH0_BEARER_TOKEN'),
80+
'BaseUrl'=> getenv('TOPCODER_AUTH0_BASE_URL')
81+
);
82+
5283
$SQL->insert('UserAuthenticationProvider', [
5384
'AuthenticationKey' => 'oauth2',
5485
'AuthenticationSchemeAlias' => 'oauth2',
5586
'Name' => 'oauth2',
56-
'AssociationSecret' => 'yvaegnvYhFhWUwL3s0nObhZz76ZVYE4qVms3z75ngm3ubHu1ZmwyKStML7N_i9nE',
57-
'RegisterUrl' => '',
58-
'SignInUrl' => 'https://topcoder-dev.auth0.com',
59-
'SignOutUrl' => '',
60-
'ProfileUrl' => 'https://topcoder-dev.auth0.com/userinfo',
61-
'Attributes' => '{"AssociationKey":"Q9iRXM0QzGRidhcUK8MSTXxBRrmvrjA4","AuthorizeUrl":"https://topcoder-dev.auth0.com/authorize","TokenUrl":"https://topcoder-dev.auth0.com/oauth/token","AcceptedScope":"openid email profile","ProfileKeyEmail":"email","ProfileKeyPhoto":"picture","ProfileKeyName":"nickname","ProfileKeyFullName":"name","ProfileKeyUniqueID":"sub","Prompt":"login","BearerToken":false,"BaseUrl":"https://topcoder-dev.auth0.com"}',
87+
'AssociationSecret' => getenv('TOPCODER_AUTH0_SECRET'),
88+
'RegisterUrl' => getenv('TOPCODER_AUTH0_REGISTER_URL'),
89+
'SignInUrl' => getenv('TOPCODER_AUTH0_SIGNIN_URL'),
90+
'SignOutUrl' => getenv('TOPCODER_AUTH0_SIGNOUT_URL'),
91+
'ProfileUrl' => getenv('TOPCODER_AUTH0_PROFILE_URL'),
92+
'Attributes' => json_encode($attributes,JSON_UNESCAPED_SLASHES),
6293
'Active' => 1,
6394
'IsDefault' => 1
6495
]);

docker-compose.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ services:
55
container_name: mysql-local
66
ports:
77
- 3306:3306
8-
environment:
9-
- MYSQL_DATABASE=vanilladb
10-
- MYSQL_ROOT_PASSWORD=root
8+
env_file:
9+
- ./mysql.env
1110
command: --default-authentication-plugin=mysql_native_password
1211
vanilla-local:
1312
container_name: vanilla-local
13+
env_file:
14+
- ./vanilla.env
1415
build:
1516
context: .
1617
args:

docs/SetupVanillaForums.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ The Vanilla Forums will be available at `http://<your_docker_machine_ip>` by def
88
2.You should see Vanilla Forums setup wizard. Vanilla Forums Installer will
99
create a database and an admin account. You should type the next values:
1010
- **Database Host** - `mysql-local`
11-
- **Database Name** - `vanilladb`
11+
- **Database Name** - a value of `MYSQL_DATABASE` from `mysql.env`
1212
- **Database User** - `root`
13-
- **Database Password** - `root`
13+
- **Database Password** - a value of `MYSQL_ROOT_PASSWORD` from `mysql.env`
1414
- **Use Vanilla's .htaccess** - selected by default.
1515

1616
Type other fields. Click on the `Continue` button to complete the installation.

sample.mysql.env

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
MYSQL_DATABASE=
2+
MYSQL_ROOT_PASSWORD=

sample.vanilla.env

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# MAIL SETTINGS
2+
MAIL_FROM_NAME=
3+
MAIL_FROM_ADDRESS=
4+
MAIL_SMTP_HOSTNAME=
5+
MAIL_SMTP_USERNAME=
6+
MAIL_SMTP_PASSWORD=
7+
MAIL_SMTP_PORT=
8+
MAIL_SMTP_SECURITY=
9+
# TOPCODER PLUGIN
10+
TOPCODER_PLUGIN_BASE_API_URL=
11+
TOPCODER_PLUGIN_MEMBER_API_URI=
12+
TOPCODER_PLUGIN_MEMBER_PROFILE_URL=
13+
# OAUTH2 SSO PLUGIN
14+
TOPCODER_AUTH0_SECRET=
15+
TOPCODER_AUTH0_REGISTER_URL=
16+
TOPCODER_AUTH0_SIGNIN_URL=
17+
TOPCODER_AUTH0_SIGNOUT_URL=
18+
TOPCODER_AUTH0_PROFILE_URL=
19+
TOPCODER_AUTH0_ASSOCIATION_KEY=
20+
TOPCODER_AUTH0_AUTHORIZE_URL=
21+
TOPCODER_AUTH0_TOKEN_URL=
22+
TOPCODER_AUTH0_ACCEPTED_SCOPE=
23+
TOPCODER_AUTH0_PROFILE_KEY_EMAIL=
24+
TOPCODER_AUTH0_PROFILE_KEY_PHOTO=
25+
TOPCODER_AUTH0_PROFILE_KEY_NAME=
26+
TOPCODER_AUTH0_PROFILE_KEY_FULL_NAME=
27+
TOPCODER_AUTH0_PROFILE_KEY_UNIQUE_ID=
28+
TOPCODER_AUTH0_PROMPT=
29+
TOPCODER_AUTH0_BEARER_TOKEN=
30+
TOPCODER_AUTH0_BASE_URL=
31+
# RECAPTCHA PLUGIN
32+
RECAPTCHA_PLUGIN_PRIVATE_KEY=
33+
RECAPTCHA_PLUGIN_PUBLIC_KEY=

0 commit comments

Comments
 (0)