Mark Henderson 247b31bf2f fix(mcp v2.4.5): post-deploy fixes replace SSH compose-up fallback
apps.create for service templates now lets Coolify's queue do the
full deploy (compose generation, volumes, internal networking,
healthchecks) and applies three surgical post-deploy fixes that
Coolify's REST API does NOT expose:

  1. Rewrites SERVICE_FQDN_* / SERVICE_URL_* in the rendered .env so
     frontends that bake their backend URL into the SPA bundle
     (Twenty's SERVER_URL, n8n, etc.) point at the real custom domain
     instead of the auto-generated sslip.io URL. Without this fix
     Twenty's frontend loads on the real HTTPS domain but fires XHRs
     at insecure sslip.io, blocking everything as Mixed Content.
  2. Injects the missing
     traefik.http.services.<svc>.loadbalancer.server.port label.
     Coolify generates the routing rules but forgets the port, so
     Traefik logs "error: port is missing" and returns 503 forever.
  3. Connects coolify-proxy to the project network (Coolify writes a
     caddy_ingress_network=<uuid> hint label but never actually runs
     docker network connect), then force-recreates ONLY the
     public-facing container so the new env+label apply, and
     restarts the proxy so Traefik re-discovers.

Polling switches from service.status (which routinely lies as
"starting:unknown" while containers are actually healthy) to the
truthful per-application service.applications[*].status field.

Removes the SSH "docker compose up -d" fallback that v2.4.1-2.4.4
used. That fallback bypassed Coolify's full pipeline, causing
internal services like Postgres/Redis to land on the shared coolify
network where DNS aliases collided with coolify-db/coolify-redis,
producing the "password authentication failed" regression we saw
on Twenty deploys. With v2.4.5 internal services stay on their
isolated project network — only the public app crosses to the
proxy.

Response shape gains: reachable (boolean for HTTPS 2xx/3xx),
appStatus (truthful per-app status from Coolify), postDeploy
(step-by-step diagnostic for each of the three fixes). Existing
started/startDiag fields kept for back-compat.

apps.containers.up / apps.containers.ps remain unchanged for
manual user recovery.

Made-with: Cursor
2026-04-27 14:04:18 -07:00
2026-02-15 19:25:52 -08:00
2026-02-15 19:25:52 -08:00
2026-02-15 19:25:52 -08:00
2026-02-15 19:25:52 -08:00
2026-02-15 19:25:52 -08:00

VIBN Frontend

AI-Powered Development Platform - Track, manage, and deploy your AI-coded projects with ease.

🎨 Features

Built with Plane.so design patterns:

  • Resizable Sidebar - Collapsible sidebar with peek-on-hover
  • Dashboard Layout - Clean, modern interface following Plane's style
  • Overview Page - Project stats, recent activity, and getting started guide
  • Sessions - Track AI coding sessions with conversation history
  • Features - Plan and track product features
  • API Map - Auto-generated API endpoint documentation
  • Architecture - Living architecture docs and ADRs (Architectural Decision Records)
  • Analytics - Cost analysis, token usage, and performance metrics
  • Porter Integration - One-click deployment for AI-coded tools

🛠️ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • UI Components: shadcn/ui
  • Icons: Lucide React
  • Notifications: Sonner

🚀 Getting Started

Quick Start

# 1. Install dependencies
npm install

# 2. Setup environment variables (see SETUP.md for details)
cp .env.template .env.local
# Edit .env.local with your Firebase credentials

# 3. Start development server
npm run dev

Open http://localhost:3000

📖 For detailed setup instructions, see SETUP.md

Build

npm run build
npm start

📁 Project Structure

vibn-frontend/
├── app/
│   ├── (dashboard)/
│   │   └── [projectId]/
│   │       ├── layout.tsx          # Main dashboard layout
│   │       ├── overview/page.tsx   # Dashboard home
│   │       ├── sessions/page.tsx   # AI coding sessions
│   │       ├── features/page.tsx   # Feature planning
│   │       ├── api-map/page.tsx    # API documentation
│   │       ├── architecture/       # Architecture docs
│   │       └── analytics/page.tsx  # Cost & metrics
│   ├── layout.tsx                  # Root layout
│   └── page.tsx                    # Home redirect
├── components/
│   ├── sidebar/
│   │   ├── resizable-sidebar.tsx   # Resizable sidebar wrapper
│   │   └── project-sidebar.tsx     # Sidebar content
│   └── ui/                         # shadcn/ui components
└── lib/
    └── utils.ts                    # Utility functions

🎯 Routes

  • /[projectId]/overview - Project dashboard
  • /[projectId]/sessions - AI coding sessions
  • /[projectId]/features - Feature planning
  • /[projectId]/api-map - API endpoint map
  • /[projectId]/architecture - Architecture documentation
  • /[projectId]/analytics - Cost and metrics

📊 Components

Resizable Sidebar

Based on Plane's sidebar pattern:

  • Drag-to-resize (200px - 400px)
  • Collapse/expand button
  • Peek-on-hover when collapsed
  • Smooth transitions

Dashboard Pages

All pages follow consistent patterns:

  • Header with title and actions
  • Content area with cards
  • Responsive layout
  • Empty states with CTAs

🔄 Next Steps

  1. Connect to Database - Wire up PostgreSQL data
  2. Build API Routes - Create Next.js API routes for data fetching
  3. Real-time Updates - Add live session tracking
  4. Porter Integration - Implement deployment workflows
  5. Authentication - Add user auth and project management

🎨 Design System

Following Plane.so patterns:

  • Clean, minimal interface
  • Consistent spacing and typography
  • Subtle animations
  • Dark mode support (via Tailwind)
  • Accessible components (via shadcn/ui)

📝 Notes

  • Built for Porter hosting deployment
  • Designed for AI vibe-coded project management
  • Real data integration coming next
  • Backend API in /vibn-backend folder

Status: Frontend scaffolded and running Next: Connect to PostgreSQL database and build API layer

Description
No description provided
Readme 349 MiB
Languages
HTML 45.8%
TypeScript 30%
JavaScript 10.9%
Python 7.6%
CSS 4.7%
Other 0.9%