Stop wiping the layer cache + base images after every build (the host has 86GB free). Keep base images (prune dangling only) and ~2 weeks of build cache, so the cache-friendly Dockerfiles (COPY *.csproj + restore before source) actually benefit -> warm rebuilds skip restore and base-image pulls. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
myAi
The myai.ro platform — a set of .NET microservices (CV matching, RAG, email, CV search, page fetching, …) behind a web frontend + API. Part of the easySoft platform.
Layout
Multiple services (*-api, *-job) + web, sharing a common bootstrap in
startup-helpers/ (Serilog, Swagger, .env/Key Vault loading, middleware). See CLAUDE.md
for the full service map, dependency chain, and conventions.
Run locally
docker compose up --build # or run individual services with: dotnet run --project <svc>
Deploy
CI builds registry.easysoft.ro/apps/myai-*:{staging,production}; Watchtower rolls them out to
the staging (10.0.0.183) + production (10.0.0.248) Portainer stacks. Edge Caddy serves
myai.ro (prod) / myai.easysoft.ro (staging).
Logging
Every service: ConfigureJsonSerilog(name, version) → Serilog Compact JSON to stdout → Grafana
Alloy → Loki. No app metrics/traces (simple services).
See CLAUDE.md for the detailed solution guide and ACCESS.md (local, gitignored) for infrastructure access.