Self-Hosted Bundles
Bundles are pre-configured Docker Compose setups that package Crow with a curated set of integrations for a specific use case.
What is a Bundle?
A bundle is a docker-compose.yml file plus configuration that makes it easy to deploy Crow with specific integrations enabled. Instead of configuring each service individually, users deploy a bundle and get a working setup immediately.
Example Use Cases
- Academic Bundle — Crow + arXiv + Zotero + Google Workspace + Canvas LMS
- Business Bundle — Crow + Gmail + Calendar + Slack + Trello + Notion
- Creative Bundle — Crow + Notion + filesystem + GitHub
- Minimal Bundle — Crow core only (memory + research + sharing)
Creating a Bundle
1. Define the Integration Set
Choose which integrations to include. Each integration needs its environment variables documented.
2. Create docker-compose.yml
Start from the existing docker-compose.yml in the Crow repo and customize:
yaml
services:
crow-gateway:
build: .
ports:
- "3001:3001"
environment:
- NODE_ENV=production
- TURSO_DATABASE_URL=${TURSO_DATABASE_URL}
- TURSO_AUTH_TOKEN=${TURSO_AUTH_TOKEN}
# Bundle-specific integrations
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
- TRELLO_API_KEY=${TRELLO_API_KEY}
- TRELLO_TOKEN=${TRELLO_TOKEN}3. Create a .env.example
List all required environment variables with comments:
env
# Required — Database
TURSO_DATABASE_URL=
TURSO_AUTH_TOKEN=
# Google Workspace
GOOGLE_CLIENT_ID= # From https://console.cloud.google.com
GOOGLE_CLIENT_SECRET=
# Trello
TRELLO_API_KEY= # From https://trello.com/power-ups/admin
TRELLO_TOKEN=4. Write a README
Include:
- What the bundle is for
- Prerequisites (Docker, API keys)
- Step-by-step setup instructions
- Which integrations are included and what they enable
5. Structure
bundles/your-bundle/
├── docker-compose.yml
├── .env.example
└── README.mdPublishing
- Create a
bundles/your-bundle/directory in your fork - Submit a PR with the bundle
- Once merged, it will appear in the Community Directory
Users can then deploy with:
bash
cd bundles/your-bundle
cp .env.example .env
# Edit .env with API keys
docker compose up -dSubmit
Fork the repo, create your bundle, and submit a PR.