The main Bubble source repository. Contains the Bubble API server, the web UI, documentation and utilities. https://getbubblenow.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

250 lines
8.5 KiB

  1. // ----------------------
  2. // Bubble Activation JSON
  3. // ----------------------
  4. //
  5. // Do not edit this file directly. Copy this file somewhere else and edit the copy.
  6. //
  7. // When you are happy with your edits, activate a blank bubble using:
  8. //
  9. // ./bin/bactivate /path/to/your/activation.json
  10. //
  11. // NOTE: In this file '//' is used for comments
  12. // Normally comments are not valid JSON, but when you run `bactivate` the Bubble toolchain strips out
  13. // the comments before sending the request to the Bubble server.
  14. //
  15. {
  16. ///////////////////////
  17. // Initial Admin
  18. ///////////////////////
  19. // email, password and description of the initial admin user
  20. "name": "root@local.local", // change this to an email address only you have access to
  21. "password": "REPLACE WITH YOUR ROOT PASSWORD",
  22. "description": "root user",
  23. "cloudConfigs" : {
  24. ///////////////////////
  25. // DNS
  26. ///////////////////////
  27. // You must configure at least one of these DNS services
  28. // Comment the other one out if you're not going to use it
  29. "Route53Dns" : {
  30. "credentials" : {
  31. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  32. "AWS_SECRET_KEY": "your_aws_secret_key"
  33. }
  34. },
  35. "GoDaddyDns" : {
  36. "credentials" : {
  37. "GODADDY_API_KEY": "your_godaddy_api_key",
  38. "GODADDY_API_SECRET": "your_godaddy_api_secret"
  39. }
  40. },
  41. ///////////////////////
  42. // Compute
  43. ///////////////////////
  44. // You must configure at least one of these Compute services
  45. // Comment the other one out if you're not going to use it
  46. "VultrCompute": {
  47. "credentials": {"API-Key": "your_vultr_api_key"}
  48. },
  49. "DigitalOceanCompute": {
  50. "credentials": {"apiKey": "your_digitalocean_api_key"}
  51. },
  52. // EC2 driver is incomplete, use one of the above instead
  53. "AmazonEC2Driver" : {
  54. "config": {
  55. // region must be a valid value from the Regions enum: https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/regions/Regions.java
  56. "region": "your_aws_region" // for example: us-east-1
  57. },
  58. "credentials" : {
  59. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  60. "AWS_SECRET_KEY": "your_aws_secret_key"
  61. }
  62. },
  63. ///////////////////////
  64. // Storage
  65. ///////////////////////
  66. // LocalStorage is required, just leave this as-is.
  67. // If you really want, you can change the baseDir
  68. "LocalStorage": {
  69. "config": { "baseDir": ".bubble_local_storage" },
  70. "credentials": {}
  71. },
  72. // You must configure the AWS S3 Storage service in order to launch new Bubbles
  73. "S3Storage" : {
  74. "config": {
  75. // region must be a valid value from the Regions enum: https://github.com/aws/aws-sdk-java/blob/master/aws-java-sdk-core/src/main/java/com/amazonaws/regions/Regions.java
  76. "region": "US_EAST_1",
  77. "bucket": "must be a valid bucket name that the credentials can read/write/list/delete",
  78. "prefix": "", // optional: all paths for S3 operations will be prefixed with this path
  79. "listFetchSize": 100
  80. },
  81. "credentials" : {
  82. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  83. "AWS_SECRET_KEY": "your_aws_secret_key"
  84. }
  85. },
  86. ///////////////////////
  87. // Email
  88. ///////////////////////
  89. // You must configure an email service, it is required to send emails
  90. // Comment out the other ones out if you're not going to use them
  91. "SmtpEmail": {
  92. "config": { "tlsEnabled": true },
  93. "credentials": {
  94. "user": "your_smtp_username",
  95. "password": "your_smtp_password",
  96. "host": "your_smtp_server_hostname",
  97. "port": "your_smtp_server_port"
  98. }
  99. },
  100. "SendGridEmail": {
  101. "config": {},
  102. "credentials": {
  103. "apiKey": "your_sendgrid_api_key"
  104. }
  105. },
  106. "MailgunEmail": {
  107. "config": {},
  108. "credentials": {
  109. "domain": "your_mailgun_domain",
  110. "apiKey": "your_mailgun_api_key"
  111. }
  112. },
  113. ///////////////////////
  114. // TOTP Auth
  115. ///////////////////////
  116. // Required for TOTP-based authentication. Nothing to configure, just leave this as-is
  117. "TOTPAuthenticator": {},
  118. ///////////////////////
  119. // SMS
  120. ///////////////////////
  121. // Required for sending SMS messages. Currently only Twilio is supported
  122. // Comment this out if you're not going to use it
  123. "TwilioSms": {
  124. "credentials": {
  125. "accountSID": "your_twilio_account_SID",
  126. "authToken": "your_twilio_auth_token",
  127. // text messages sent by Bubble will come "from" this phone number, must be in Twilio-compatible format
  128. "fromPhoneNumber": "your_twilio_from_number"
  129. }
  130. },
  131. ///////////////////////
  132. // GeoLocation
  133. ///////////////////////
  134. // Required for locale and "nearest compute region" auto-detection. Currently only MaxMind is supported
  135. // Comment this out if you're not going to use it
  136. "MaxMind": {
  137. "config": {
  138. // these values work for the free GeoLite database, but you still have to specify an apiKey
  139. "url": "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=[[apiKey]]&suffix=tar.gz",
  140. "file": "GeoLite2-City_20[\\\\d]{6}/GeoLite2-City\\\\.mmdb"
  141. },
  142. "credentials": {"apiKey": "your_maxmind_api_key"}
  143. },
  144. ///////////////////////
  145. // GeoCode
  146. ///////////////////////
  147. // Required for "nearest compute region" auto-detection. Currently only Google GeoCoder is supported
  148. // Comment this out if you're not going to use it
  149. "GoogleGeoCoder": {
  150. "credentials": {"apiKey": "your_google_api_key"}
  151. },
  152. ///////////////////////
  153. // GeoTime
  154. ///////////////////////
  155. // Required for timezone auto-detection. Currently only Google GeoTime is supported
  156. // Comment this out if you're not going to use it
  157. "GoogleGeoTime": {
  158. "credentials": {"apiKey": "your_google_api_key"}
  159. }
  160. },
  161. ///////////////////////
  162. // Initial Domain
  163. ///////////////////////
  164. // initial domain that new Bubbles will be launched within
  165. "domain": {
  166. "publicDns": "Route53Dns or GoDaddyDns", // name of a DNS provider configured above
  167. "name": "example.com" // a domain name that you own, that is managed by the DNS provider named in `publicDns`
  168. },
  169. ///////////////////////
  170. // Expert Settings
  171. ///////////////////////
  172. // You can safely chop off everything from here down from your copy (well, except the closing curly-brace).
  173. // The settings below rarely be changed, and omitting them is the same as not changing them.
  174. // You really shouldn't change them unless you know what you're doing.
  175. // -----------
  176. // skipTests
  177. // -----------
  178. //
  179. // Most of the cloud services you add above have "self-test" features in their Bubble driver.
  180. // Normally, Bubble will test each cloud driver to ensure that it is working properly before
  181. // allowing activation to proceed.
  182. //
  183. // The driver test can detect a lot of configuration problems, invalid API keys, and so on.
  184. // It's a good idea to leave the tests enabled.
  185. //
  186. // If, however, this is not the first time you've run with the exact same JSON file and you KNOW that
  187. // all the clouds/credentials/configs are correct, because they've passed tests before, then setting
  188. // this to true does save a little bit of time during activation.
  189. //
  190. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* ALL YOUR DRIVERS ARE OK
  191. //
  192. // If the activation.json file has no `skipTests` property, then tests will be enabled
  193. //
  194. "skipTests": false, // set this to true to skip cloud driver tests
  195. // -----------
  196. // skipPacker
  197. // -----------
  198. //
  199. // Bubble needs to ensure that packer images are available on any cloud compute service where you could
  200. // launch a new Bubble. The easiest way to ensure this happens is to check for packer images immediately after
  201. // activation. This is the default behavior.
  202. //
  203. // It's a good idea to do this, because if the images don't exist, then Bubble won't check again until you're
  204. // about to launch your Bubble -- and then you take the 20-minute delay of building the image.
  205. //
  206. // If, however, you KNOW that the images exist, or you explicitly want to create them later using the
  207. // `pack_bubble` command, you can skip the packer check during activation by setting this to true
  208. //
  209. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* THE PACKER IMAGES ARE VALID FOR YOUR CLOUD PROVIDER
  210. //
  211. // If the activation.json file has no `skipPacker` property, then packer images will be created during activation,
  212. // if not already present.
  213. //
  214. "skipPacker": false
  215. }