Repository navigation
Added
- CORS support with environment-based configuration (development: all origins, production: same-origin only)
- Network access support: Frontend accessible via IP address (not just localhost)
- Environment Grouping: Services now display all environments in a single card instead of separate cards
- Backend: Refactored
normalizeServices()to group environments under each service - Frontend: Updated ServiceCard component to display environment sections with grouped links
- Better organization: One card per service with expandable environment sections
- Filter support: Environment filter now shows/hides specific environments within cards
- Backend: Refactored
- Compact/Minimalist UI: Optimized for high-density service lists (tested with 105+ links)
- 2-column grid layout for links (responsive: 1 column on mobile, 2 on desktop)
- Reduced padding and spacing throughout cards (40% more compact)
- Optimized font sizes for better information density
- Smaller icons and badges for cleaner appearance
- ~40% vertical space savings compared to original design
- GitHub Repository Links: Repository links from YAML config now displayed in service cards
- GitHub icon appears in top-right corner of cards when repository URL is configured
- One-click access to service source code from dashboard
- Supports any Git hosting platform URL (GitHub, GitLab, Bitbucket, etc.)
- Health Check Authentication: Support for basic auth and custom headers in health checks
- Basic authentication with username/password (automatic Base64 encoding)
- Custom headers support for API keys, bearer tokens, etc.
- Auth credentials never exposed in API responses (security-first design)
- See configuration docs for examples
- Customizable Environment Styles: YAML-based environment badge customization
- Define custom colors and icons for any environment name
- 9 color options: red, amber, green, blue, purple, gray, indigo, pink, cyan
- 8 icon options: server, flask, laptop, cloud, zap, globe, shield, code
- Sensible defaults (production=red/server, staging=amber/flask, dev=green/laptop)
- Case-insensitive environment name matching
- Modern colored badges with icons in service cards
Changed
- View Mode Redesign: Replaced "By Environment" with "All Services" view
- "All Services" (default): Flat list without grouping, works naturally with environment grouping
- "By Project" and "By Group" remain for organizational grouping
- localStorage migration: old "environment" view mode auto-converts to "all"
- Section headers hidden in "All Services" view for cleaner UI
Fixed
- Filter dropdown click-outside behavior: Dropdowns now properly close when clicking outside
- Implemented proper React click-outside detection using
useEffect+useRef - Previous overlay-based approach replaced with native event listeners
- Implemented proper React click-outside detection using
- Filter dropdown z-index: Dropdowns now appear above service cards
- Filter bar now uses
sticky top-0 z-40(stays at top when scrolling) - Dropdown menus use
z-[100]for proper layering above all content
- Filter bar now uses
- Environment name display: Removed CSS text-transform (capitalize/uppercase) to preserve original YAML values
- Environment names now display exactly as written in YAML config
- Affects ServiceCard badges, filter dropdowns, and environment section headers
Full Changelog: v1.0.0...v1.1.0
🐳 Docker Images
This release is available as Docker images for multiple platforms:
# Pull latest
docker pull ghcr.io/ismailperim/directo:latest
# Pull specific version
docker pull ghcr.io/ismailperim/directo:v1.1.0
docker pull ghcr.io/ismailperim/directo:1.1.0
# Run
docker run -p 3000:3000 ghcr.io/ismailperim/directo:v1.1.0Platforms: linux/amd64, linux/arm64
Registry: GitHub Container Registry