Modern, real-time dashboard for monitoring and managing GitLab CI/CD pipelines with advanced alerting system.
- 📊 Real-time Pipeline Monitoring - Auto-refresh with live updates
- 🎨 GitLab-style Visualization - Beautiful pipeline stages & jobs view
- 📝 Live Log Streaming - Real-time logs with syntax highlighting
- 🔄 Pipeline Management - Retry, cancel, and manage pipelines
- 🌓 Dark & Light Themes - Comfortable viewing in any environment
- 📱 Responsive Design - Works on desktop, tablet, and mobile
# 1. Clone repository
git clone https://github.com/ismoilovdevml/gitlab-ci-dashboard.git
cd gitlab-ci-dashboard
# 2. Generate secure environment variables (auto-creates random passwords)
bash scripts/generate-env.sh production
# ⚠️ IMPORTANT: Save the admin password shown above!
# You can view it later with: cat .env | grep ADMIN_PASSWORD
# 3. Start all services (PostgreSQL + Redis + App)
docker compose up -d
# 4. Check logs to verify everything started
docker compose logs -f app
# Wait for "✓ Ready" message, then Ctrl+C to exit logsOpen http://localhost:3000 in your browser.
First Login:
- URL: http://localhost:3000/login
- Username: admin(or value fromADMIN_USERNAMEin .env)
- Password: Check ADMIN_PASSWORDin .env file
Services:
- Dashboard UI: http://localhost:3000
- PostgreSQL: Internal network only (secure by default)
- Redis: Internal network only (secure by default)
# Stop all services
docker compose down
# Stop and remove volumes (reset database)
docker compose down -vThe dashboard automatically checks for updates every 6 hours. When a new version is available, you'll see an update notification in the sidebar.
To update:
# 1. Stop current containers
docker compose down
# 2. Pull latest image
docker compose pull app
# 3. Start with new version
docker compose up -d
# 4. Verify version (check sidebar)Alternative - Pull from Git:
# 1. Pull latest code
git pull origin main
# 2. Rebuild containers
docker compose up -d --build
# 3. Verify version- Open http://localhost:3000
- Click Settings in the sidebar
- Enter your GitLab details:
- GitLab URL: https://gitlab.comor your self-hosted URL
- API Token: Personal access token with apiscope
 
- GitLab URL: 
- Click Save Configuration
Get API Token:
- Go to GitLab → Settings → Access Tokens
- Create token with apiscope
- Copy and paste in dashboard
- Framework: Next.js 15 (App Router)
- UI Library: React 19
- Language: TypeScript 5.9
- Styling: Tailwind CSS
- State Management: Zustand with persistence
- Icons: Lucide React
- Runtime: Node.js 20
- Database: PostgreSQL 17
- Cache: Redis (latest)
- ORM: Prisma
- API: Next.js API Routes
# Clone repository
git clone https://github.com/ismoilovdevml/gitlab-ci-dashboard.git
cd gitlab-ci-dashboard
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Edit .env with your database credentials
# Start database services
docker compose up -d postgres redis
# Run database migrations
npx prisma migrate dev
# Start dev server
npm run devOpen http://localhost:3000 in your browser.
# Type checking
npm run type-check
# Linting
npm run lint
# Build for production
npm run build
# Start production server
npm start# Build image
docker compose build
# Build without cache
docker compose build --no-cache
# Run all services
docker compose up -dIf you have any questions or issues, please open an issue on GitHub.