From 1df096d3de9b316cd3775e6a2e24f1d66d1710ff Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Thu, 7 May 2026 12:17:58 +0100 Subject: [PATCH] vault backup: 2026-05-07 12:17:58 --- 01 Projects/cc-dashboard/CC Dashboard.md | 1 + .../2026-05-07-planka-integration.md | 50 +++++++++++++++++++ 99 Daily/2026-05-07.md | 3 ++ 3 files changed, 54 insertions(+) create mode 100644 01 Projects/cc-dashboard/handovers/2026-05-07-planka-integration.md diff --git a/01 Projects/cc-dashboard/CC Dashboard.md b/01 Projects/cc-dashboard/CC Dashboard.md index fbbe557..8a51279 100644 --- a/01 Projects/cc-dashboard/CC Dashboard.md +++ b/01 Projects/cc-dashboard/CC Dashboard.md @@ -288,6 +288,7 @@ All endpoints except `/auth/login` require valid JWT in `Authorization: Bearer { ## Change Log | Date | Requested | Changed | Files | |------|-----------|---------|-------| +| 2026-05-07 | SSO configuration | User isolation enabled, personal login disabled, user mapping added | Auth config, Obsidian notes | | 2026-05-07 | SSO setup & user migration | SPA registration for optical-dev dashboard, sidebar text color to text-white/65 | AI portal config, sidebar component | | 2026-05-07 | SSO configuration | SPA registration, user mapping, personal login disabled | AI portal app, deployment script | | 2026-05-07 | SSO setup | User isolation, personal login disabled, user account linked, SPA added | auth.config, user-mappings.json, deploy.sh | diff --git a/01 Projects/cc-dashboard/handovers/2026-05-07-planka-integration.md b/01 Projects/cc-dashboard/handovers/2026-05-07-planka-integration.md new file mode 100644 index 0000000..fd5192e --- /dev/null +++ b/01 Projects/cc-dashboard/handovers/2026-05-07-planka-integration.md @@ -0,0 +1,50 @@ +# Handover: P2-8 + P2-9 Planka integration + +## What changed + +### Docker Compose +- Added `planka` service: ghcr.io/plankanban/planka:latest, port 1337, env BASE_URL/SECRET_KEY/DATABASE_URL, named volumes for avatars/backgrounds/attachments +- Added `planka-db` service: isolated postgres:16, named volume planka-db-data + +### Apache +- Added Location /board/ ProxyPass → localhost:1337 in apache.conf + +### .env.example +- Added PLANKA_SECRET_KEY (generate: openssl rand -hex 64) +- Added PLANKA_BASE_URL=https://optical-dev.oliver.solutions/board + +### Sidebar +- Renamed Planner → Tasks, path /board, opens in new tab via anchor tag with target=_blank +- Added external field to NavItem; template uses component :is to switch between RouterLink and anchor +- Imported RouterLink explicitly (required when used as a value, not just a component) + +### Router +- Removed /planner route + +### Deleted files +- web/src/views/PlannerView.vue +- web/src/components/tasks/TaskList.vue +- web/src/components/tasks/TaskCard.vue +- Kept: web/src/components/tasks/TaskForm.vue (used by CalendarView) + +## Files +- docker-compose.yml — planka + planka-db services +- apache.conf — /board/ ProxyPass +- .env.example — PLANKA_* vars +- web/src/components/shared/Sidebar.vue — Tasks external link +- web/src/router/index.ts — removed /planner + +## Verified +- npm run build — clean, no warnings +- Committed & pushed: e401f9a + +## Server deploy steps (when user is ready) +1. Add PLANKA_SECRET_KEY to server .env: echo "PLANKA_SECRET_KEY=$(openssl rand -hex 64)" >> /opt/cc-dashboard/.env +2. Add PLANKA_BASE_URL=https://optical-dev.oliver.solutions/board to .env +3. Run deploy: bash /opt/cc-dashboard/deploy.sh +4. Apply Apache config: add /board/ ProxyPass block to VirtualHost, then reload apache2 +5. First run: create initial Planka admin user via the /board UI + +## Next subtask +P0-3 (BLOCKED): Investigate empty project data — requires live DB access on optical-dev. +Diagnostic SQL ready in previous handover. User needs to deploy first, then investigate. \ No newline at end of file diff --git a/99 Daily/2026-05-07.md b/99 Daily/2026-05-07.md index 8f724d3..b8ed3c0 100644 --- a/99 Daily/2026-05-07.md +++ b/99 Daily/2026-05-07.md @@ -68,3 +68,6 @@ tags: [daily] - 12:04 | `aimpress` - **Asked:** Run sync now and show remaining cron tasks. - **Done:** Started sync process (12/100+ repos done, 3-5 min remaining) and cleared crontab. +- 12:16 (5min) | `cc-dashboard` + - **Asked:** Set up SSO with user isolation, disable personal login, and map vadymsamoilenko@oliver.agecny to VadymSamoilenko@oliver.agecny. + - **Done:** Added optical-dev.oliver.solutions/cc-dashboard/ as SPA to AI portal app and searched Obsidian notes for SSO configuration data.