feat: Initial Hub Dashboard with email, calendar, and tasks
AI-powered unified business workspace for LetsBe Cloud tenants. - Next.js 15 (App Router) with Keycloak SSO via NextAuth.js v5 - Email client: IMAP/SMTP via ImapFlow + nodemailer (inbox, compose, search, folders) - Calendar: CalDAV via tsdav + Schedule-X (month/week/day views, event CRUD) - Task management: Vikunja API integration (list view, kanban, filters) - Responsive shell with sidebar navigation and activity feed - Docker deployment ready Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
29
.env.example
Normal file
29
.env.example
Normal file
@@ -0,0 +1,29 @@
|
||||
# Authentication
|
||||
NEXTAUTH_URL=https://hub.example.com
|
||||
NEXTAUTH_SECRET=generate-a-secret-here
|
||||
|
||||
# Keycloak SSO
|
||||
KEYCLOAK_CLIENT_ID=hub-dashboard
|
||||
KEYCLOAK_CLIENT_SECRET=your-client-secret
|
||||
KEYCLOAK_ISSUER=https://auth.example.com/realms/letsbe
|
||||
|
||||
# Orchestrator API (same server)
|
||||
ORCHESTRATOR_URL=http://orchestrator:8100
|
||||
|
||||
# Tenant domain (set during provisioning)
|
||||
TENANT_DOMAIN=example.com
|
||||
|
||||
# Server IP
|
||||
SERVER_IP=0.0.0.0
|
||||
|
||||
# IMAP/SMTP (Poste.io on same server)
|
||||
IMAP_HOST=mail.example.com
|
||||
IMAP_PORT=993
|
||||
SMTP_HOST=mail.example.com
|
||||
SMTP_PORT=587
|
||||
|
||||
# CalDAV (Nextcloud on same server)
|
||||
CALDAV_URL=https://cloud.example.com/remote.php/dav
|
||||
|
||||
# Vikunja Task Manager
|
||||
VIKUNJA_URL=https://tasks.example.com/api/v1
|
||||
Reference in New Issue
Block a user