/community-in-a-box

Manage your opensource community like a boss.

Primary LanguageSmartyOtherNOASSERTION

Community in a Box

A [in]Complete Community Management platform !

Free as in Matt Broberg buying you lunch, but then having to listen to him wax lyrical about the four freedoms.

Includes

Todo

  1. Chat application - riot.im or rocketchat
  2. blogging platform ? ( or just use hugo + gh-pages )
  3. Microblogging platform
  4. Jitsi Meet
  5. Conference / CFP app ?
  6. LDAP / SSO Directory service ? or just tie into GH ?

Installing

Community in a Box uses helmfile to compose several helm charts together to enable deploying itself with a gitops style workflow.

Prerequisites

To deploy a very simple default installation of Community in a Box simple run:

./scripts/check-namespaces.sh -c -d
helmfile apply

Customizing

Community in a Box is customizable by providing an environment path. That path contains at least two files; envs.sh and charts.yaml.gotmpl both of which control a different aspect.

charts.yaml.gotmpl

Overrides for the default charts.yaml file which lists the helm charts and their characteristics to install such as their version.

envs.sh

A script that can be sourced into your shell to load up environment variables to be rendered into the charts. The reason we use environment variables here is that so you can source the contents of those variables from wherever you want without making this project overly complex.

Examples

default

envs/default is an environment that does not override any settings. However it does list all of the variables you might want to set to customize your install.

To install or upgrade this environment you would run:

. ./envs/default/envs.sh
./scripts/check-namespaces.sh -c -d
helmfile apply

coming soon

more example envs coming soon.