Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
bin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Grouparoo

Achieve Marketing Autonomy

Take control of your data and your destiny with the open source customer data platform that puts marketers in charge.

Grouparoo Data Bowtie

Learn more at www.grouparoo.com

Table of Contents

For Grouparoo Users

If you are new to Grouparoo, or you want to deploy Grouparoo to your servers, start here!

For Grouparoo Developers

If you are interested in extending Grouparoo with your own plugins or contributing to the Open Source project, these documents are for you.

Community

Looking for help or to connect with other Grouparoo users? 👩‍💻👨‍💻Learn more at www.grouparoo.com/community ➡️

Other Documents

Running a Grouparoo Application

This is an abbreviated version of the Grouparoo Deployment Getting Started guide. The full version can be found here.

Deploy to Heroku

The simplest way to see Grouparoo in action is to deploy it to Heroku for free:

Deploy to Heroku

Run locally with Docker

Assuming you have Docker installed:

# in a new directory
curl https://raw.githubusercontent.com/grouparoo/app-example/master/docker-compose.published.yml --output docker-compose.yml
docker-compose up

Run Locally

  1. Create a new project with a package.json file like the one below. Grouparoo is a node.js project, and we use NPM to manage our dependencies. Grouparoo required the Postgres and Redis databases. On OSX, these can be installed via Homebrew.
{
  "author": "Grouparoo Inc <hello@grouparoo.com>",
  "name": "my-grouparoo-project",
  "description": "A Grouparoo Deployment",
  "version": "0.1.0",
  "license": "UNLICENSED",
  "private": true,
  "dependencies": {
    "@grouparoo/core": "latest",
    "@grouparoo/mysql": "latest",
    "@grouparoo/postgres": "latest",
    "@grouparoo/mailchimp": "latest",
    "@grouparoo/csv": "latest"
  },
  "scripts": {
    "prepare": "cd node_modules/@grouparoo/core && npm run prepare",
    "start": "cd node_modules/@grouparoo/core && ./api/bin/start",
    "dev": "cd node_modules/@grouparoo/core && ./api/bin/dev"
  },
  "grouparoo": {
    "plugins": [
      "@grouparoo/mysql",
      "@grouparoo/postgres",
      "@grouparoo/mailchimp",
      "@grouparoo/csv"
    ]
  }
}

This makes an "app" for Grouparoo to run. A full example can be found here.

  1. There are some environment variables needed by Grouparoo that need to be set by your host/docker image. In development, we can also lod these variables from a .env file that lives alongside your package.json. Create a copy of our example .env file to manage your environment variables locally. You can modify the options as needed. Make this as a peer to your package.json file. Note: the .env file only works when running in NODE_ENV=development. On your server, you should set up these same environment variables. At minimum, you will need to set the following variables:
PORT=3000
WEB_URL=http://localhost:3000
WEB_SERVER=true
SCHEDULER=true
WORKERS=1
REDIS_URL="redis://localhost:6379/0"
DATABASE_URL="postgresql://localhost:5432/grouparoo_development"
SERVER_TOKEN="a-random-string"
  1. Run npm install to install dependencies. This will also run npm prepare which will compile the typescript application and build the web page components.

  2. Run npm start to start the server and visit http://localhost:3000 to get started. Follow the on-screen instructions to create your account and first team.

🦘

You can’t perform that action at this time.