Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add backend docs #451

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

add backend docs #451

wants to merge 8 commits into from

Conversation

jeremy-babylonlabs
Copy link

No description provided.

@jeremy-babylonlabs jeremy-babylonlabs force-pushed the feat/backend-docs branch 2 times, most recently from 5077b18 to 1f02b71 Compare February 21, 2025 12:14
@jrwbabylonlab
Copy link
Contributor

jrwbabylonlab commented Feb 26, 2025

If I were a reader of this documentation trying to set up the Babylon backend system, I would find it very confusing.

For example, the section is titled deployment-overview, but it doesn’t actually explain how to deploy the backend services.

I understand that this is a copy of the Phase 1 documentation from Babylon Docs, but let’s take some time to improve it in this PR.

What I have in mind:

  1. Overview of the Babylon Backend Services
  • This should include the current deployment-overview content, specifically the diagram and descriptions of each component.
  • We should clarify that users do not necessarily need to host certain services, such as the unbonding pipeline and covenant signer. Right now, it’s unclear which components are required to be hosted.
  1. Prerequisites (each should have detailed setup instructions, which can be completed in a separate PR in collaboration with DevOps)
  • MongoDB
  • RabbitMQ
  • Babylon Node
  • Bitcoin Node
  • Clearly state that Phase 1 services should be turned off if the user had them running.
  • DB Snapshot: This refers to the database snapshot taken by DevOps to speed up syncing. Check with DevOps for details—there should be a dedicated page for this.
  1. Hosting the Services
  • This section should provide instructions on how to host each individual service or guide users on using a single script (if available) to deploy all services at once.
  • The current services directory (which contains setup instructions for each service) is fine, but there are areas for improvement:
    • Provide a Docker option: Consult with DevOps on this. Since we have a public Docker Hub, hosting services via Docker is significantly easier. A docker-compose setup would allow users to start all services with a single command in the future.
    • Enforce service startup order: The order should be strictly followed—Indexer first, followed by Expiry Checker, then API.
    • Health check endpoints: Each service already has a health check endpoint. Instead of instructing users to check logs manually, we should guide them to use these endpoints to verify if a service is running.
    • Resource requirements: The Indexer and Expiry Checker require a minimum of 8GB RAM. Let’s document this clearly.

Thoughts? @kirugan @vitsalis @jeremy-babylonlabs

jrwbabylonlab
jrwbabylonlab previously approved these changes Mar 5, 2025
kirugan
kirugan previously approved these changes Mar 6, 2025
Copy link

@kirugan kirugan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants