GitHub Action
32049c70ac
chore: update manifests and submodules [skip ci]
2026-07-26 12:18:15 +00:00
asepharyana
be7348a27d
fix(infra): remove buffer/compress from llm-api for real SSE streaming
...
- llm-api uses llm-chain instead of common-chain
- llm-chain excludes buffer & compress middlewares
- Prevents Traefik from buffering streaming SSE responses
- Each token is now flushed immediately
2026-07-26 19:14:52 +07:00
GitHub Action
f0c7534152
chore: update manifests and submodules [skip ci]
2026-07-26 12:09:58 +00:00
GitHub Action
e42e967b7f
chore: update manifests and submodules [skip ci]
2026-07-26 11:27:08 +00:00
GitHub Action
87df0d7ae2
chore: update manifests and submodules [skip ci]
2026-07-26 10:15:32 +00:00
GitHub Action
2913f515f0
chore: update manifests and submodules [skip ci]
2026-07-26 09:14:25 +00:00
GitHub Action
59e2f9d173
chore: update manifests and submodules [skip ci]
2026-07-26 09:08:26 +00:00
GitHub Action
d75424634d
chore: update manifests and submodules [skip ci]
2026-07-26 08:58:06 +00:00
GitHub Action
cc8cefb33a
chore: update manifests and submodules [skip ci]
2026-07-26 08:53:27 +00:00
GitHub Action
ca81a8b7ee
chore: update manifests and submodules [skip ci]
2026-07-26 08:44:28 +00:00
GitHub Action
ac25a51113
chore: update manifests and submodules [skip ci]
2026-07-26 08:42:08 +00:00
asepharyana and GitHub
10aeda4d4b
fix: update llm-api MODEL_PATH for new MiniCPM5 GGUF
...
Updates MODEL_PATH to MiniCPM5-1B-Claude-Opus-Fable5-V2-Thinking-Q8_0.gguf
2026-07-26 15:40:14 +07:00
GitHub Action
1e4b17afb0
chore: update manifests and submodules [skip ci]
2026-07-25 12:06:23 +00:00
asepharyana
22e8a872cd
fix(infra): replace short -S flags with long --system/--ingroup in hub Dockerfile
...
The oven/bun:1.2 base image was updated and -S flag on adduser is
now ambiguous between --shell and --system, causing build failure.
2026-07-25 19:02:00 +07:00
asepharyana and Claude Code
3be2744070
fix(hub): switch Dockerfile from npm to bun
...
hub project uses bun.lock, but Dockerfile was using npm install which
resolves dependencies differently. Switched to oven/bun image and
bun install --frozen-lockfile for deterministic builds.
Co-Authored-By: Claude Code <noreply@anthropic.com >
2026-07-25 17:43:11 +07:00
GitHub Action
fde53f22b6
chore: update manifests and submodules [skip ci]
2026-07-25 06:45:09 +00:00
asepharyana
e953c3cb67
ci(llm-api): integrate into hub CI/CD pipeline
...
- Add llm-api to docker-build-push workflow (build, push, deploy)
- Add llm-api compose file to deploy-docker ALL_COMPOSE_FILES
- Add llm-api to update-submodule workflow
- Add llm-api CodeQL build step in security workflow
- Fix typo in Traefik host rule (asepharya -> asepharyana)
- Update CLAUDE.md submodule list
- Fix .gitmodules URL for llm-api submodule
- Clean up standalone infra files from llm-api submodule repo
2026-07-25 13:39:35 +07:00
GitHub Action
2033d9b2bc
chore: update manifests and submodules [skip ci]
2026-07-25 04:22:20 +00:00
asepharyana
8fc4a15e0c
feat(llm-api): add MiniCPM-V LLM API service with Traefik routing
2026-07-25 11:20:15 +07:00
GitHub Action
4fbca91c8c
chore: update manifests and submodules [skip ci]
2026-07-24 12:59:04 +00:00
GitHub Action
c4791b3160
chore: update manifests and submodules [skip ci]
2026-07-24 12:08:26 +00:00
GitHub Action
6f1dfea710
chore: update manifests and submodules [skip ci]
2026-07-24 11:54:28 +00:00
asepharyana and Kilo
3c52036f7e
fix(infra): replace curl healthcheck with wget, install wget in runtime
...
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 18:52:40 +07:00
GitHub Action
e10a2e498b
chore: update manifests and submodules [skip ci]
2026-07-24 11:50:52 +00:00
GitHub Action
183659b56c
chore: update manifests and submodules [skip ci]
2026-07-24 11:50:03 +00:00
asepharyana and Kilo
38873dd73e
fix(infra): install leptonica/tesseract dev libs for tesseract feature build
...
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 18:44:22 +07:00
asepharyana and Kilo
be2117aa16
fix(infra): audit — NATS subject, worker spawn, tesseract feature, pipeline PDF
...
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 18:24:35 +07:00
GitHub Action
f92aa8ef30
chore: update manifests and submodules [skip ci]
2026-07-24 10:58:20 +00:00
GitHub Action
4be55b57bb
chore: update manifests and submodules [skip ci]
2026-07-24 10:57:26 +00:00
asepharyana and Kilo
5c79a91a2e
fix(infra): copy bun binary to runtime for Next.js frontend
...
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 17:55:59 +07:00
GitHub Action
13e2c38eef
chore: update manifests and submodules [skip ci]
2026-07-24 10:53:19 +00:00
asepharyana and Kilo
8f62f955d1
fix(infra): route tools Traefik to Next.js frontend (port 3000)
...
Frontend serves UI, proxies /api/* to Rust gateway on port 3001.
Rust gateway remains internal, not exposed via Traefik.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 17:52:23 +07:00
GitHub Action
d2f592261e
chore: update manifests and submodules [skip ci]
2026-07-24 10:48:34 +00:00
GitHub Action
70f54c8c7a
chore: update manifests and submodules [skip ci]
2026-07-24 10:47:39 +00:00
asepharyana and Kilo
a35e19b546
fix(infra): update tools submodule entrypoint, use port 3002
...
Entrypoint now auto-discovers binary locations in various paths.
Host port changed to 3002 due to stale iptables rule on port 3001.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 17:47:24 +07:00
asepharyana and Kilo
c25850b727
fix(infra): use unique binary names in Dockerfile builder stage
...
The cp destination /app/gateway conflicts with the source code
directory apps/tools/backend/gateway/ which is copied to /app/gateway/.
Use /app/tools-gateway-bin to avoid name collision.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 17:42:50 +07:00
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
c5a7ae247a
fix(infra): copy binaries from builder's filesystem, not cache mount
...
The builder stage uses --mount=type=cache for /app/target, so binaries
are in the cache which isn't available to the runtime stage COPY.
Fix by copying from /app/gateway and /app/workers which were cp'd
to the builder's regular filesystem.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 14:10:13 +07:00
asepharyana and Kilo
836ef6862e
fix(infra): bump cargo-chef image to rust 1.89 for compatibility
...
cargo-chef with rust 1.85 has compatibility issues with some dependency crates.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 13:45:51 +07:00
asepharyana and Kilo
584a7155e6
fix(infra): use pre-built cargo-chef image in Dockerfile
...
Replace cargo install cargo-chef with pre-built image
lukemathwalker/cargo-chef:latest-rust-1.85.0 and add build
cache mounts for faster rebuilds.
Co-Authored-By: Kilo <kilo@kilo.ai >
2026-07-24 13:32:31 +07:00
asepharyana and Kilo
a41b2d7312
fix(infra): remove bun.lock from Dockerfile, fix frontend build
...
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 >
2026-07-24 13:20:30 +07:00
asepharyana and Kilo
d8b1457a11
fix(infra): convert apps/tools to submodule, fix Dockerfile paths
...
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 >
2026-07-24 13:11:54 +07: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
asepharyana and Claude Opus 4.8
7181710aa7
chore: remove lidm routes from file config — now via Docker labels
...
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 >
2026-07-23 19:19:30 +07:00
asepharyana and Claude Opus 4.8
478a0f849f
fix: use websecure + tls for lidm routes, same pattern as other services
...
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 >
2026-07-23 19:07:22 +07:00
asepharyana and Claude Opus 4.8
7fc863d611
feat: add lidm frontend and backend routes to traefik config
...
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 >
2026-07-23 19:02:13 +07:00
GitHub Action
df7aaedfba
chore: update manifests and submodules [skip ci]
2026-07-23 11:17:49 +00:00