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.
 
 
 
 

265 lines
9.0 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. // Docker can be used for testing or for advanced use cases
  64. "DockerCompute": {
  65. "config": {},
  66. "credentials": {
  67. // these are the default settings, change as needed
  68. "host": "unix:///var/run/docker.sock",
  69. "tlsVerify": "false", // if tlsVerify is "true" then certPath must be set
  70. "certPath": null,
  71. "registryUrl": null,
  72. "registryUsername": null,
  73. "registryEmail": null,
  74. "registryPassword": null
  75. }
  76. },
  77. ///////////////////////
  78. // Storage
  79. ///////////////////////
  80. // LocalStorage is required, just leave this as-is.
  81. // If you really want, you can change the baseDir
  82. "LocalStorage": {
  83. "config": { "baseDir": ".bubble_local_storage" },
  84. "credentials": {}
  85. },
  86. // You must configure the AWS S3 Storage service in order to launch new Bubbles
  87. "S3Storage" : {
  88. "config": {
  89. // 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
  90. "region": "US_EAST_1",
  91. "bucket": "must be a valid bucket name that the credentials can read/write/list/delete",
  92. "prefix": "", // optional: all paths for S3 operations will be prefixed with this path
  93. "listFetchSize": 100
  94. },
  95. "credentials" : {
  96. "AWS_ACCESS_KEY_ID": "your_aws_access_key_id",
  97. "AWS_SECRET_KEY": "your_aws_secret_key"
  98. }
  99. },
  100. ///////////////////////
  101. // Email
  102. ///////////////////////
  103. // You must configure an email service, it is required to send emails
  104. // Comment out the other ones out if you're not going to use them
  105. "SmtpEmail": {
  106. "config": { "tlsEnabled": true },
  107. "credentials": {
  108. "user": "your_smtp_username",
  109. "password": "your_smtp_password",
  110. "host": "your_smtp_server_hostname",
  111. "port": "your_smtp_server_port"
  112. }
  113. },
  114. "SendGridEmail": {
  115. "config": {},
  116. "credentials": {
  117. "apiKey": "your_sendgrid_api_key"
  118. }
  119. },
  120. "MailgunEmail": {
  121. "config": {},
  122. "credentials": {
  123. "domain": "your_mailgun_domain",
  124. "apiKey": "your_mailgun_api_key"
  125. }
  126. },
  127. ///////////////////////
  128. // TOTP Auth
  129. ///////////////////////
  130. // Required for TOTP-based authentication. Nothing to configure, just leave this as-is
  131. "TOTPAuthenticator": {},
  132. ///////////////////////
  133. // SMS
  134. ///////////////////////
  135. // Required for sending SMS messages. Currently only Twilio is supported
  136. // Comment this out if you're not going to use it
  137. "TwilioSms": {
  138. "credentials": {
  139. "accountSID": "your_twilio_account_SID",
  140. "authToken": "your_twilio_auth_token",
  141. // text messages sent by Bubble will come "from" this phone number, must be in Twilio-compatible format
  142. "fromPhoneNumber": "your_twilio_from_number"
  143. }
  144. },
  145. ///////////////////////
  146. // GeoLocation
  147. ///////////////////////
  148. // Required for locale and "nearest compute region" auto-detection. Currently only MaxMind is supported
  149. // Comment this out if you're not going to use it
  150. "MaxMind": {
  151. "config": {
  152. // these values work for the free GeoLite database, but you still have to specify an apiKey
  153. "url": "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=[[apiKey]]&suffix=tar.gz",
  154. "file": "GeoLite2-City_20[\\\\d]{6}/GeoLite2-City\\\\.mmdb"
  155. },
  156. "credentials": {"apiKey": "your_maxmind_api_key"}
  157. },
  158. ///////////////////////
  159. // GeoCode
  160. ///////////////////////
  161. // Required for "nearest compute region" auto-detection. Currently only Google GeoCoder is supported
  162. // Comment this out if you're not going to use it
  163. "GoogleGeoCoder": {
  164. "credentials": {"apiKey": "your_google_api_key"}
  165. },
  166. ///////////////////////
  167. // GeoTime
  168. ///////////////////////
  169. // Required for timezone auto-detection. Currently only Google GeoTime is supported
  170. // Comment this out if you're not going to use it
  171. "GoogleGeoTime": {
  172. "credentials": {"apiKey": "your_google_api_key"}
  173. }
  174. },
  175. ///////////////////////
  176. // Initial Domain
  177. ///////////////////////
  178. // initial domain that new Bubbles will be launched within
  179. "domain": {
  180. "publicDns": "Route53Dns or GoDaddyDns", // name of a DNS provider configured above
  181. "name": "example.com" // a domain name that you own, that is managed by the DNS provider named in `publicDns`
  182. },
  183. ///////////////////////
  184. // Expert Settings
  185. ///////////////////////
  186. // You can safely chop off everything from here down from your copy (well, except the closing curly-brace).
  187. // The settings below rarely be changed, and omitting them is the same as not changing them.
  188. // You really shouldn't change them unless you know what you're doing.
  189. // -----------
  190. // skipTests
  191. // -----------
  192. //
  193. // Most of the cloud services you add above have "self-test" features in their Bubble driver.
  194. // Normally, Bubble will test each cloud driver to ensure that it is working properly before
  195. // allowing activation to proceed.
  196. //
  197. // The driver test can detect a lot of configuration problems, invalid API keys, and so on.
  198. // It's a good idea to leave the tests enabled.
  199. //
  200. // If, however, this is not the first time you've run with the exact same JSON file and you KNOW that
  201. // all the clouds/credentials/configs are correct, because they've passed tests before, then setting
  202. // this to true does save a little bit of time during activation.
  203. //
  204. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* ALL YOUR DRIVERS ARE OK
  205. //
  206. // If the activation.json file has no `skipTests` property, then tests will be enabled
  207. //
  208. "skipTests": false, // set this to true to skip cloud driver tests
  209. // -----------
  210. // skipPacker
  211. // -----------
  212. //
  213. // Bubble needs to ensure that packer images are available on any cloud compute service where you could
  214. // launch a new Bubble. The easiest way to ensure this happens is to check for packer images immediately after
  215. // activation. This is the default behavior.
  216. //
  217. // It's a good idea to do this, because if the images don't exist, then Bubble won't check again until you're
  218. // about to launch your Bubble -- and then you take the 20-minute delay of building the image.
  219. //
  220. // If, however, you KNOW that the images exist, or you explicitly want to create them later using the
  221. // `pack_bubble` command, you can skip the packer check during activation by setting this to true
  222. //
  223. // NOTE: DO NOT SET THIS TO true UNLESS YOU *KNOW* THE PACKER IMAGES ARE VALID FOR YOUR CLOUD PROVIDER
  224. //
  225. // If the activation.json file has no `skipPacker` property, then packer images will be created during activation,
  226. // if not already present.
  227. //
  228. "skipPacker": false
  229. }