Get Started

⚡Quick Start

  1. Install MongoDB locally OR follow the guide of using MongoDB Atlas here

  2. Install Outerbridge

    npm install -g outerbridge
  3. Start Outerbridge

    npx outerbridge start

    If using MongoDB Atlas

    npx outerbridge start --mongourl=mongodb+srv://<user>:<password>@<your-cluster>.mongodb.net/outerbridge?retryWrites=true&w=majority
  4. Open http://localhost:3000

🐳 Docker

  1. Clone the repository

    git clone https://github.com/Outerbridgeio/Outerbridge.git
  2. Go into docker folder

    cd Outerbridge && cd docker
  3. Start Docker Compose

    docker-compose up -d
  4. This will automatically spins up mongodb and outerbridge containers

  5. Open http://localhost:3000

  6. You can bring the containers down by

    docker-compose stop
  7. If using MongoDB Atlas

    i.) Create a new variable in .env

    MONGO_URL=mongodb+srv://<user>:<password>@<your-cluster>.mongodb.net/outerbridge?retryWrites=true&w=majority

    ii.) Add the variable MONGO_URL under outerbridge section of docker-compose.yml

    version: '3.1'
    services:
    mongo:
    image: mongo
    ports:
    - "27017:27017"
    restart: always
    environment:
    - MONGO_INITDB_DATABASE=outerbridge
    outerbridge:
    image: outerbridgeio/outerbridge
    restart: always
    environment:
    - MONGO_HOST=${MONGO_HOST}
    - PASSPHRASE=${PASSPHRASE}
    - ENABLE_TUNNEL=${ENABLE_TUNNEL}
    - PORT=${PORT}
    - MONGO_URL=${MONGO_URL}
    ports:
    - "${PORT}:${PORT}"
    links:
    - mongo
    volumes:
    - ~/.outerbridge:/root/.outerbridge
    command: /bin/sh -c "sleep 3; outerbridge start"

    iii.) Start Docker Compose

    docker-compose up -d

👨‍💻 Developers

Outerbridge has 3 different modules in a single mono repository.

  • server: Node backend to serve API logics
  • ui: React frontend
  • components: Nodes and Credentials of applications

Prerequisite

  • Install MongoDB locally OR register a MongoDB Atlas here
  • Install Yarn
    npm i -g yarn

Setup

  1. Clone the repository

    git clone https://github.com/Outerbridgeio/Outerbridge.git
  2. Go into repository folder

    cd Outerbridge
  3. Install lerna, husky and rimraf :

    yarn setup
  4. Install all dependencies of all modules and link them together:

    yarn bootstrap
  5. Build all the code:

    yarn build
  6. Start the app:

    yarn start

    You can now access the production-ready app on http://localhost:3000/

  7. For development build: yarn dev Any code changes will reload the app automatically on http://localhost:8080

MongoDB Atlas

Below is the guide on how to use MongoDB Atlas.

  1. Navigate to https://www.mongodb.com/atlas/database and register an account

  2. After logging into dashboard, click Create or Build database


    MongoAtlas
  3. Create a cluster


    MongoAtlas
  4. Set up a username and password for database access


    MongoAtlas
  5. Add IP Access List.

    ⚠️

    Setting 0.0.0.0/0 will allow access from everywhere


    MongoAtlas
  6. Now, you should see a cluster in dashboard, click "Connect"


    MongoAtlas
  7. Select "Connect your application"


    MongoAtlas
  8. Copy the mongo url link, replace with your username & password that you've created in Step 4, and add database name


    MongoAtlas

    For example:

    mongodb+srv://user1:<password>@cluster0.t5kythn.mongodb.net/outerbridge?retryWrites=true&w=majority

🔦 Tunnel

⚠️

Beware of using Tunnel URL in production

By default, starting Outerbridge will also spins up a tunnel url. You can access the exact same app on this url. A console log will be shown like this:

process.env.TUNNEL_BASE_URL = http://<domain>-<name>-<number>.loca.lt/

This is needed for third-party webhook integration such as Alchemy Webhook in order to reach Outerbridge on web. However it should not be used in production because anyone can access the app. To toggle this off:

  1. Go to Outerbridge/packages/server
  2. Create one .env file or modify the existing one by setting:
ENABLE_TUNNEL = false
  1. Rebuild the app yarn run build