The bun.lock doesn't exist yet - use bun install without frozen-lockfile.
This will be optimized once a lockfile is generated.
Co-Authored-By: Kilo <kilo@kilo.ai>
Tools repo is now public so GITHUB_TOKEN can clone it.
Revert the token injection workaround since it's no longer needed.
Co-Authored-By: Kilo <kilo@kilo.ai>
Move tools code to its own repo (asepharyana/asepharyana-hub-tools)
and add as git submodule following the existing app pattern.
Fix Dockerfile paths to use apps/tools/ prefix since build context
is the repo root.
Co-Authored-By: Kilo <kilo@kilo.ai>
- Introduced a comprehensive Docker image architecture for the project, detailing multi-stage builds for Rust backend and Next.js frontend.
- Added Docker Compose configuration for the tools service, including environment variables and volume management.
- Documented CI/CD integration steps for Docker build and deployment workflows.
- Implemented a detailed processing pipeline for document scanning, covering stages from image preprocessing to PDF generation.
- Included edge case handling and performance budget for each stage of the pipeline.
- Enhanced security considerations and rollback strategies for the tools service.
Routing is handled by container labels (traefik.enable + router labels),
so file-level routes for lidm are no longer needed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cloudflare Origin CA wildcard cert covers *.asepharyana.my.id,
so websecure entrypoint with tls works correctly.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add routers and services for lidm.asepharyana.my.id (→ lidm-frontend:3000)
and lidm-api.asepharyana.my.id (→ lidm-backend:3001) behind Traefik.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Using only :sha-<short> tags ensures deterministic image references
and prevents stale :latest caches from serving wrong images.
Co-Authored-By: Asep Haryana Saputra <asepharyana@users.noreply.github.com>
- Remove dashboard container from observability.yml
- Remove infra/docker/dashboard.Dockerfile
- Remove dashboard route from Traefik apps.yaml
- Mount Docker socket on hub container for /api/dashboard
- Remove dashboard build from CI/CD (docker-build-push.yml)
- Update submodule pointer to hub with Next.js dashboard rewrite
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Created asepharyana/asepharyana-hub-hub repo
- Updated CLAUDE.md with both submodules
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Replace fixed grid-column spans with auto-fill grid
- Charts auto-hide when no data available (no gaps)
- System Resources row spans full width only when data exists
- Responsive breakpoints for mobile, tablet, desktop
- SVG charts scale with container width
- Add node-exporter container for host metrics (CPU, RAM, Disk)
- SVG gauge charts rendered server-side from Prometheus data
- Auto-detect compose project name from Docker labels
- Auto-detect web services via traefik.* labels for quick links
- Remove all hardcoded service name filters
- Dynamic system name based on compose project