Skip to content
Rabble is a federated blogging platform
Python Go TypeScript Jupyter Notebook Shell Dockerfile Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
build_container
chump
config
containers
research
script
services
skinny
.gitignore
LICENSE
README.md
run_build.sh
run_test.sh
start.sh
start_production.sh
start_second.sh

README.md

Rabble

Building

Requirements

The only requirement to build Rabble is to have docker installed.

Steps

Run run_build.sh and the output binaries will be written to a build_out directory.

Configuration

There are a few parameters you can use to configure your Rabble instance. To change these options set the corresponding environment variable when running run_build.sh. Unset values have sensible defaults.

  • RABBLE_SEARCH_TYPE:
    • bleve (default)
    • simple-search
  • RABBLE_FOLLOW_RECOMMENDER_METHOD:
    • none (default)
    • surprise
    • cn
    • graphdist
  • RABBLE_POSTS_RECOMMENDER_METHOD:
    • none (default)
    • random

Running Rabble

After doing a build you can run Rabble by executing the start.sh script. Docker and docker-compose are both requried.

NOTE: If you have made changes to a microservice it will only be rebuilt if its context directory changes. To manually rebuild run docker-compose build --no-cache <service_name>

Adding a new microservice to the build

To add a new microservice follow these steps:

  • Add new build dependencies (compilers, libraries, ...) to build_container/Dockerfile
  • Add the build commands to build_container/build.sh
  • Create a Dockerfile in the microservice's directory that runs the microservice
  • Add the new service to docker-compose.yml
  • Test!

Running Rabble in Production

To run Rabble on a production server, first go and edit your configs.

Config Path Description
containers/gen_first_config.sh Build Environment Variables
chump/rabble_config.js Frontend constants

The most important environment variables to change are:

  • RABBLE_EXTERNAL_ADDRESS - gen_first_config.sh - this should be the domain of the your instance

To set up continuous integration, read the redeploy instructions

You can’t perform that action at this time.