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.
 
 
 
 

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