Appearance
Installation
Prerequisites
- PHP 8.4+
- Node.js 20+
- Composer 2.x
- Docker (recommended) or PostgreSQL 16+ with pgvector
Database Setup
Docker (Recommended)
bash
docker compose up -dCreates PostgreSQL 16 with pgvector, iris database, and testing database.
Default credentials: user iris, password iris, port 5432.
Manual PostgreSQL
sql
CREATE DATABASE iris;
\c iris
CREATE EXTENSION vector;Application Installation
bash
git clone https://github.com/sixlive/iris.git
cd iris
composer install
npm install
cp .env.example .env
php artisan key:generateEnvironment Configuration
Edit .env:
bash
ANTHROPIC_API_KEY=your-anthropic-key
OPENAI_API_KEY=your-openai-key
# Optional - Google Calendar
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
# Optional - Todoist
TODOIST_CLIENT_ID=your-client-id
TODOIST_CLIENT_SECRET=your-client-secretRun Migrations
bash
php artisan migrateBuild Frontend
bash
npm run buildGenerate Invite Codes
Iris uses invite-only registration. Generate invite codes before users can register:
bash
# Generate a single invite code
php artisan iris:generate-invite-codes
# Generate multiple codes
php artisan iris:generate-invite-codes 5Share the generated codes with users who need access. Each code can only be used once.
Running Iris
bash
composer devStarts web server, queue worker, log viewer, and Vite dev server.
Visit http://localhost:8000.
Manual Startup
Terminal 1: php artisan serve
Terminal 2: php artisan queue:work
Terminal 3: php artisan schedule:work (optional)
User Registration
Head to /register and create a new user using the invite code that you generated earlier.

Optional: Google Calendar
- Create Google Cloud project and enable Calendar API
- Create OAuth 2.0 credentials
- Add to
.env:
bash
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secretOptional: Todoist
- Create a Todoist app at developer.todoist.com
- Add to
.env:
bash
TODOIST_CLIENT_ID=your-client-id
TODOIST_CLIENT_SECRET=your-client-secret