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.

dev.md 2.8 KiB

4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
4 years ago
3 years ago
3 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. Bubble Developer Guide
  2. ======================
  3. This guide is intended for developers who would like to work directly with the Bubble source code.
  4. For API-level details, see the [Bubble API Guide](https://github.com/getbubblenow/bubble-docs/blob/master/api/README.md)
  5. and the [Bubble API Reference](https://app.getbubblenow.com/apidocs/)
  6. # Development Setup
  7. These instructions presume you are running a newly setup Ubuntu 20.04 or Mac OS X system.
  8. For Ubuntu, either the Server or Desktop distribution will work.
  9. Other Debian-based systems will probably also work fine.
  10. See below for other Linux distributions and other operating systems.
  11. ## One-Time System Setup
  12. You'll need to install some software for Bubble to work correctly.
  13. Follow the instructions in [System Software Setup](system-software.md) to install the required software.
  14. ## First-Time Dev Setup
  15. After running the system setup above, run:
  16. ```shell script
  17. ./bin/first_time_setup.sh
  18. ```
  19. This will grab all the submodules and perform an initial build of all components.
  20. This will take a while to complete, please be patient.
  21. ## Bubble environment file
  22. You will need a file named `${HOME}/.bubble.env` which contains various environment variables
  23. required to run the server. At the least, it should contain:
  24. ```shell script
  25. export LETSENCRYPT_EMAIL=user@example.com
  26. ```
  27. This defines what email address is used with LetsEncrypt when creating new SSL certificates.
  28. If you will be running any tests, create a symlink called `${HOME}/.bubble-test.env`
  29. ```shell script
  30. cd ${HOME} && ln -s .bubble.env .bubble-test.env
  31. ```
  32. The `.bubble-test.env` file is used by the test suite.
  33. ## Subsequent Updates
  34. If you want to grab the latest code, and ensure that all git submodules are properly in sync with the main repository, run:
  35. ```shell script
  36. ./bin/git_update_bubble.sh
  37. ```
  38. This will update and rebuild all submodules, and the main bubble jar file.
  39. ## Running in development
  40. Run the `bin/run.sh` script to start the Bubble server.
  41. ## Resetting everything
  42. If you want to "start over", run:
  43. ```shell script
  44. ./bin/reset_bubble_full
  45. ```
  46. This will remove local files stored by Bubble, and drop the bubble database.
  47. If you run `./bin/run.sh` again, it will be like running it for the first time.
  48. ## Next
  49. What to do next depends on what you want to do with Bubble.
  50. If you've started the Bubble API already using `run.sh`, and want to launch a Bubble,
  51. continue with [activation](activation.md).
  52. Would you like more guidance on starting the [Local Launcher](local-launcher.md)?
  53. If all you want to do is launch your own Bubble, starting with
  54. the [Bubble Docker Launcher](docker-launcher.md) is probably faster and easier.
  55. Or perhaps you are interested in exploring the
  56. [Bubble API](https://github.com/getbubblenow/bubble-docs/blob/master/api/README.md) and
  57. interacting with Bubble programmatically.