Achieve Marketing Autonomy
Take control of your data and your destiny with the open source customer data platform that puts marketers in charge.
Learn more at www.grouparoo.com
If you are new to Grouparoo, or you want to deploy Grouparoo to your servers, start here!
- π Getting Started with Grouparoo
- π¦Ύ Deploying Grouparoo
- π Security
- π Telemetry
- π©Ί Support
You can find more details about how the Grouparoo product works here.
If you are interested in extending Grouparoo with your own plugins or contributing to the Open Source project, these documents are for you.
- π©βπ» Getting Started as a Grouparoo Developer
- π Databases
- π Tools
- π Data Flow
- πΉ Events
- π€ Plugins
- π Typescript Docs
- π Publishing
- π» Security Disclosures
Looking for help or to connect with other Grouparoo users? π©βπ»π¨βπ»Learn more at www.grouparoo.com/community β‘οΈ
This is an abbreviated version of the Grouparoo Deployment Getting Started guide. The full version can be found here.
The simplest way to see Grouparoo in action is to deploy it to Heroku for free:
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
- 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.
- 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 yourpackage.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 yourpackage.json
file. Note: the.env
file only works when running inNODE_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"
-
Run
npm install
to install dependencies. This will also runnpm prepare
which will compile the typescript application and build the web page components. -
Run
npm start
to start the server and visithttp://localhost:3000
to get started. Follow the on-screen instructions to create your account and first team.
π¦