asepharyana and Kilo
97b48ddb21
fix(infra): remove depends_on redis/nats from tools.yml
...
Shared services are in separate compose files. Tools depends on them
at runtime but Docker compose doesn't need to manage their lifecycle.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 17:40:35 +07:00
GitHub Action
ab994ffd54
chore: update manifests and submodules [skip ci]
2026-07-24 07:17:21 +00:00
GitHub Action
9d0b075b92
chore: update manifests and submodules [skip ci]
2026-07-24 07:16:37 +00:00
asepharyana and Kilo
67288c8723
feat(infra): add tools service with document scanner, image & PDF tools
...
Implement self-hosted document scanner and media processing tools as
an alternative to CamScanner/ilovepdf without third-party uploads.
Backend: Rust Axum gateway + worker pool with NATS JetStream queue
Frontend: Next.js 16 + shadcn/ui + Tailwind v4 + Framer Motion
Pipeline: Canny edge detection -> DLT homography warp -> Sauvola
binarization -> Hough deskew -> Tesseract OCR -> searchable PDF
Phase 1 (MVP) delivers:
- Document scanner with perspective correction and OCR
- Image compress/resize/convert tools
- PDF merge/split/compress tools
- Real-time WebSocket progress updates
- Rate limiting, auto-cleanup, Prometheus metrics
- Full CI/CD pipeline with Docker multi-stage build
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 13:08:09 +07:00
GitHub Action
447b22d9da
chore: update manifests and submodules [skip ci]
2026-07-24 02:11:27 +00:00
GitHub Action
df7aaedfba
chore: update manifests and submodules [skip ci]
2026-07-23 11:17:49 +00:00
asepharyana
545397eb1f
fix(infra): fix Prometheus Docker SD relabel + group_add
2026-07-23 07:50:20 +07:00
asepharyana and Claude Opus 4.8
40e1a80f9f
feat(infra): auto-discovery Prometheus + Traefik metrics
...
- Prometheus: add docker_sd_configs for auto-discovery via labels
- Prometheus: mount Docker socket for Docker SD
- Traefik: enable --metrics.prometheus with entrypoint/service labels
- Traefik: add prometheus.io/scrape=true label
- Observability: mount Docker socket for Prometheus container
- Bump hub submodule (Traefik metrics queries + sparkline charts)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 07:45:59 +07:00
asepharyana
688ac095f6
fix(infra): add group_add for docker socket access in hub
2026-07-23 07:35:58 +07:00
GitHub Action
a4852f636a
chore: update manifests and submodules [skip ci]
2026-07-23 00:33:56 +00:00
GitHub Action
bd9cc1f4c7
chore: update manifests and submodules [skip ci]
2026-07-23 00:25:10 +00:00
asepharyana and Claude Opus 4.8
aaaf5de70c
feat(infra): remove Go dashboard, dashboard is now part of hub Next.js app
...
- 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 >
2026-07-23 07:23:12 +07:00
asepharyana and Claude Opus 4.8
9db886e68b
feat(infra): add hub service — Docker, Traefik, CI/CD
...
- Add infra/docker/hub.Dockerfile (Next.js multi-stage build)
- Add infra/compose/hub.yml with app-shared-net
- Add Traefik route for hub.asepharyana.{my,web}.id → hub:3000
- Update docker-build-push.yml: path detection, matrix build, dispatch, manifest
- Update deploy-docker.yml: include hub.yml in ALL_COMPOSE_FILES
- Update update-submodule.yml: allow hub service
- Update docs/ARCHITECTURE.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-23 07:19:55 +07:00
GitHub Action
f085375363
chore: update manifests and submodules [skip ci]
2026-07-22 23:03:10 +00:00
GitHub Action
28ba9dd78c
chore: update manifests and submodules [skip ci]
2026-07-22 22:59:17 +00:00
GitHub Action
bf39884ea6
chore: update manifests and submodules [skip ci]
2026-07-22 22:39:21 +00:00
GitHub Action
f96041a164
chore: update manifests and submodules [skip ci]
2026-07-22 22:32:10 +00:00
asepharyana
9a48a49f21
feat(infra): auto-discovered node metrics (CPU, RAM, Disk) and fully dynamic dashboard
...
- 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
2026-07-23 05:31:05 +07:00
GitHub Action
4f15cafc02
chore: update manifests and submodules [skip ci]
2026-07-22 22:21:46 +00:00
GitHub Action
c909c4a9a1
chore: update manifests and submodules [skip ci]
2026-07-22 22:17:46 +00:00
asepharyana
9f54f90621
fix(infra): use anonymous Prometheus volume to avoid deploy script name collision
2026-07-22 18:28:16 +07:00
asepharyana
ee4fd677ea
feat(infra): add Prometheus and Chart.js dashboard with real-time charts
...
- Add Prometheus server scraping OTel collector
- Add Chart.js donut chart for service health distribution
- Add line charts for RPS, latency, error rate, trace volume
- Add Prometheus API proxy to nginx whitelist
- Restructure dashboard layout with 12-column responsive grid
2026-07-22 18:26:41 +07:00
asepharyana
46314e6d38
fix(infra): correct Traefik OTLP tracing flags
2026-07-22 18:16:18 +07:00
GitHub Action
362e9f4115
chore: update manifests and submodules [skip ci]
2026-07-22 11:13:25 +00:00
asepharyana
da268f1671
feat: enhance observability with dynamic links, Docker API integration, and health checks
2026-07-22 18:12:44 +07:00
asepharyana
4ef4f615c1
feat: add dashboard service to Docker build and push workflow
2026-07-22 18:12:44 +07:00
GitHub Action
5d5a0f48b5
chore: update manifests and submodules [skip ci]
2026-07-22 09:44:30 +00:00
asepharyana
dcb93035f3
feat(observability): add OpenTelemetry Collector, Jaeger, and custom dashboard for monitoring
...
fix(infra): update NATS configuration for OpenTelemetry tracing and JetStream support
refactor(dapr): modify Dapr sidecar configuration to use new resources path and config file
chore(docs): update deployment documentation to include observability services
docs(commit-convention): establish commit message guidelines for Asepharyana Hub
docs(deploy-workflow): outline CI/CD pipeline and manual deployment steps for Asepharyana Hub
feat(event-driven): implement event-driven architecture patterns with Dapr and NATS
docs(hub-rules): define repository structure, submodule strategy, and infrastructure patterns
2026-07-22 16:43:37 +07:00
GitHub Action
fd3c7f8c29
chore: update manifests and submodules [skip ci]
2026-07-22 08:08:45 +00:00
GitHub Action
a3c5d747ca
chore: update manifests and submodules [skip ci]
2026-07-22 08:01:56 +00:00
GitHub Action
ce7f630894
chore: update manifests and submodules [skip ci]
2026-07-22 07:56:42 +00:00
GitHub Action
8f22d052f8
chore: update manifests and submodules [skip ci]
2026-07-22 07:30:23 +00:00
GitHub Action
005fe466ed
chore: update manifests and submodules [skip ci]
2026-07-22 07:29:39 +00:00
GitHub Action
ad67ed9711
chore: update manifests and submodules [skip ci]
2026-07-22 07:19:02 +00:00
GitHub Action
aa83986b23
chore: update manifests and submodules [skip ci]
2026-07-22 07:10:32 +00:00
GitHub Action
73011d9d14
chore: update manifests and submodules [skip ci]
2026-07-22 07:02:50 +00:00
GitHub Action
1befc9285a
chore: update manifests and submodules [skip ci]
2026-07-22 06:52:39 +00:00
GitHub Action
2f3bc950a6
chore: update manifests and submodules [skip ci]
2026-07-22 06:46:53 +00:00
GitHub Action
e825c553d6
chore: update manifests and submodules [skip ci]
2026-07-22 06:08:47 +00:00
GitHub Action
cc3e891960
chore: update manifests and submodules [skip ci]
2026-07-22 06:00:58 +00:00
asepharyana
b960f9915c
chore: remove EXTERNAL_BROWSERLESS env var from compose and docs
2026-07-22 12:55:50 +07:00
GitHub Action
443ef9a8da
chore: update manifests and submodules [skip ci]
2026-07-22 00:22:16 +00:00
GitHub Action
36de54dd85
chore: update manifests and submodules [skip ci]
2026-07-22 00:21:29 +00:00
asepharyana
05f3a65358
fix(dapr): use pubsub.nats instead of deprecated natsstreaming, use --resources-path
2026-07-21 17:31:57 +07:00
asepharyana
7b983daa4c
fix(nats,dapr): remove healthchecks — scratch images have no shell/wget. Fix depends_on to use service_started
2026-07-21 17:30:21 +07:00
asepharyana
9a29d86fbd
fix(nats): correct CLI flags — use -js/-sd instead of --store_dir/--max_payload
2026-07-21 17:27:48 +07:00
asepharyana and Claude Opus 4.8
ea168b4b20
feat: add NATS + Dapr infrastructure for event-driven architecture
...
- infra/compose/nats.yml: NATS server with JetStream, persistence volume, healthcheck
- infra/compose/dapr.yml: Dapr placement service for sidecar coordination
- infra/dapr/: Dapr global config, pubsub component (NATS), statestore (Redis)
- infra/compose/scraper.yml: add Dapr sidecar container + depends_on nats/dapr
- docs/add-dapr-service.md: guide for integrating Dapr into new services
- docs/add-new-app.md: add Dapr sidecar step
- ARCHITECTURE.md: add NATS/Dapr to infra table + service mesh diagram
- infra/README.md: update layout and deployment order
- deploy-docker.yml: add nats.yml + dapr.yml to ALL_COMPOSE_FILES
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 17:26:02 +07:00
asepharyana
d546a1acf9
fix(scraper): healthcheck tolerate 404 — server is up even if root returns 404
2026-07-21 15:52:51 +07:00
asepharyana
23269e1ab2
fix(scraper): fix healthcheck — use wget instead of ss (not available in slim image)
2026-07-21 15:36:42 +07:00
asepharyana and Claude Opus 4.8
8f05d1df3d
fix(scraper): add EXTERNAL_BROWSERLESS_WS back — service still running on imrnes
...
Also relax scraper healthcheck to use TCP fallback (ss) for when /health
endpoint doesn't respond in time.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-21 15:32:25 +07:00