Back to Library

ROLLerUP Command Portal

portal/README.md readme
Updated: 2026-03-07 02:45
# ROLLerUP Command Portal

Personal workspace portal with calendar, projects, and AI round table.

## Features

1. **Calendar View** - Navigate to any date, see what was worked on (syncs from `memory/` files)
2. **Projects Dashboard** - Track projects with milestones, status, progress bars
3. **Round Table** - Invoke AI personas for discussions, document meetings & action items
4. **Action Items** - Track tasks across meetings and projects
5. **Search** - Find anything across all history

## Setup

### 1. Install dependencies
```bash
cd /opt/zoho-extract
source venv/bin/activate
pip install flask flask-cors psycopg2-binary python-dotenv anthropic
```

### 2. Create database schema
```bash
cd /home/openclaw/.openclaw/workspace/portal
psql "host=$DB_HOST port=$DB_PORT dbname=$DB_NAME user=$DB_USER password=$DB_PASSWORD sslmode=require" -f schema.sql
```

### 3. Configure environment
The portal uses the same `.env` as other scripts at `/opt/zoho-extract/.env`

Required variables:
- `DB_HOST`, `DB_PORT`, `DB_NAME`, `DB_USER`, `DB_PASSWORD`
- `ANTHROPIC_API_KEY`

Optional:
- `MEMORY_DIR` (default: `/home/openclaw/.openclaw/workspace/memory`)

### 4. Run the portal
```bash
cd /home/openclaw/.openclaw/workspace/portal
nohup python app.py > /tmp/portal.log 2>&1 &
```

### 5. Configure Caddy (for HTTPS)
Add to `/etc/caddy/Caddyfile`:
```
portal.rollerup.ca {
    reverse_proxy localhost:5004
}
```

Then reload: `systemctl reload caddy`

## API Endpoints

### Calendar
- `GET /calendar` - Calendar view
- `GET /calendar/<date>` - Specific day
- `POST /api/sync-memory` - Sync memory files to database

### Projects
- `GET /projects` - All projects
- `GET /projects/<id>` - Project detail
- `POST /api/projects` - Create project
- `PUT /api/projects/<id>` - Update project

### Round Table
- `GET /roundtable` - Meeting room
- `GET /roundtable/meeting/<id>` - View past meeting
- `POST /api/roundtable/start` - Start new meeting
- `POST /api/roundtable/message` - Send message to participants
- `POST /api/roundtable/summarize` - Generate meeting summary

### Action Items
- `GET /actions` - All action items
- `PUT /api/actions/<id>` - Update action item

### Search
- `GET /api/search?q=<query>` - Search everything

## AI Personas

| Slug | Name | Emoji | Role |
|------|------|-------|------|
| aria | Aria | πŸ‘‘ | CEO - Strategic Leadership |
| nexus | Nexus | πŸ”§ | CTO - Technical Architecture |
| pulse | Pulse | πŸ“ˆ | CMO - Marketing & Insights |
| ledger | Ledger | πŸ’° | CFO - Financial Analysis |
| atlas | Atlas | πŸ—ΊοΈ | CIO - Information Systems |
| closer | Closer | 🎯 | VP Sales - Sales Optimization |
| shraga | Shraga | πŸ”₯ | Lead Developer |

## Port
- **5005** - Command Portal

---
Built by Shraga πŸ”₯ | ROLLerUP AI Team