forked from swapmyvote/swapmyvote
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.json
138 lines (138 loc) · 3.76 KB
/
app.json
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
{
"name": "Swap My Vote",
"description": "Web platform for tactical voting",
"keywords": [
"voting",
"democracy"
],
"website": "https://swapmyvote.uk/",
"repository": "https://github.com/swapmyvote/swapmyvote",
"logo": "https://github.com/swapmyvote/swapmyvote/blob/master/app/assets/images/logo-1024x1024.png",
"success_url": "/",
"stack": "heroku-22",
"env": {
"HEROKU_APP_NAME": {
"required": true
},
"STAGING_DATABASE_URL": {
"required": true
},
"SERVER_HOST": {
"description": "Determine what cookie name to use. This can also be used to construct SERVER_HOST_PORT.",
"required": "false",
"value": ""
},
"SERVER_HOST_PORT": {
"description": "Used to figure out what URLs to generate when sending out email. It can't be done dynamically because the mailer instance doesn't have any context about the incoming request.",
"required": "false",
"value": ""
},
"FACEBOOK_KEY": {
"description": "Facebook application key for allowing log-ins via Facebook.",
"required": "false",
"value": ""
},
"FACEBOOK_SECRET": {
"description": "Facebook application secret for allowing log-ins via Facebook.",
"required": "false",
"value": ""
},
"TWITTER_KEY": {
"description": "Twitter application key for allowing log-ins via Twitter.",
"required": "false",
"value": ""
},
"TWITTER_SECRET": {
"description": "Twitter application secret for allowing log-ins via Twitter.",
"required": "false",
"value": ""
},
"GOOGLE_TAG_MANAGER_ID": {
"description": "Google TagManager container ID (optional)",
"required": "false",
"value": ""
},
"MESSAGEBIRD_API_KEY": {
"description": "MessageBird API key for SMS delivery",
"required": "false",
"value": ""
},
"ADMIN_PASSWORD": {
"description": "A password to protect the admin area of the site",
"value": ""
},
"SWAPMYVOTE_MODE": {
"description": "Current mode for the site; options are defined in AppModeConcern::VALID_MODES",
"value": ""
},
"SWAP_EXPIRY_HOURS": {
"description": "Swap expiry duration in hours",
"required": "false",
"value": "12"
},
"POTENTIAL_SWAP_EXPIRY_MINS": {
"description": "Potential swap expiry duration in minutes",
"required": "false",
"value": "120"
},
"TEST_USERS_SKIP_MOBILE_VERIFICATION": {
"description": "Allow test users (example.com / Facebook test users) to skip mobile verification",
"required": "false",
"value": "yes"
},
"DISABLE_LOG_INS": {
"description": "Set to 'twitter' or 'facebook', or 'all' to disable any login method other than email.",
"required": "false",
"value": ""
},
"ELECTION_DATE": {
"description": "date of the election in the format YYYY-MM-DD",
"required": "false",
"value": ""
},
"ELECTION_TYPE": {
"description": "Type of election, general or by / g or b",
"required": "false",
"value": ""
}
},
"formation": {
"web": {
"quantity": 1,
"size": "standard-1x"
}
},
"image": "heroku/ruby",
"addons": [
{
"plan": "mailgun:starter",
"as": "MAILGUN"
}
],
"buildpacks": [
{
"url": "heroku/nodejs"
},
{
"url": "heroku/ruby"
}
],
"environments": {
"test": {
"scripts": {
"test": "bundle exec rake test"
}
},
"review": {
"addons": [
{
"plan": "heroku-postgresql:essential-0",
"as": "DATABASE"
}
],
"scripts": {
"postdeploy": "pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL && bundle exec rake db:migrate"
}
}
}
}