vault backup: 2026-05-07 12:17:58

This commit is contained in:
Vadym Samoilenko 2026-05-07 12:17:58 +01:00
parent 3af2d749a4
commit 1df096d3de
3 changed files with 54 additions and 0 deletions

View file

@ -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 |

View file

@ -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.

View file

@ -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.