NVIDIA
NVIDIA
rag-frontend
Container
NVIDIA
NVIDIA
rag-frontend

This is the sample frontend container used as part of the NVIDIA AI Blueprint for RAG.

LayerLabelCreated
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4CMD
["node" "-e" "const http=require('http');const fs=require('fs');const path=require('path');const {URL}=require('url');const CHAT=process.env.VITE_API_CHAT_URL||'http://rag-server:8081/v1';const VDB=process.env.VITE_API_VDB_URL||'http://ingestor-server:8082/v1';const chatRoutes=['/api/generate','/api/summary','/api/configuration'];const server=http.createServer((req,res)=>{const isChatRoute=chatRoutes.some(r=>req.url.startsWith(r));if(req.url.startsWith('/api/')){const u=new URL(isChatRoute?CHAT:VDB);const opt={hostname:u.hostname,port:u.port,path:req.url.replace('/api',''),method:req.method,headers:{...req.headers,host:u.host}};const pr=http.request(opt,r=>{res.writeHead(r.statusCode,r.headers);r.pipe(res)});pr.on('error',e=>{res.writeHead(500);res.end('Error:'+e.message)});req.pipe(pr)}else{let f=req.url==='/'?'/index.html':req.url;f=path.join('./dist',f);if(!fs.existsSync(f)&&!f.includes('.'))f=path.join('./dist','index.html');fs.readFile(f,(e,d)=>{if(e){res.writeHead(404);res.end('Not found')}else{res.writeHead(200,{'Content-Type':f.endsWith('.html')?'text/html':f.endsWith('.js')?'application/javascript':f.endsWith('.css')?'text/css':'text/plain'});res.end(d)}})}});server.listen(3000,'0.0.0.0',()=>console.log('Server running on port 3000'));"]
03/11/2026 1:37 PM UTC
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4EXPOSE
[3000/tcp]
03/11/2026 1:37 PM UTC
sha256:f5b6888d5d3296afa7bf9b2fb82fbb18f03aa5add5c17d85f3ad442083b68d14COPY
/app/frontend/node_modules ./node_modules
03/11/2026 1:37 PM UTC
sha256:267f262d932bf6ffdf1bb5371e4d80d098a661ba5de07d3d50c8394e22f688edCOPY
/app/frontend/vite.config.ts ./vite.config.ts
03/11/2026 1:37 PM UTC
sha256:05a866d741e8767a5854e178381443e1cffc67bc38f73bd58980fc3b14690cd4COPY
/app/frontend/package.json ./package.json
03/11/2026 1:37 PM UTC
sha256:653bcedfc689b1c1f4591f0816c16fc47bf979930e2a82b9f6f968ac2ff236bfCOPY
/app/frontend/dist ./dist
03/11/2026 1:37 PM UTC
sha256:756c518370550a872b09feae68c2f2a7c9d3d567442de1ffb822ff0b200eaa65COPY
/legal /legal
03/11/2026 1:37 PM UTC
sha256:d0c07e90a44809b05adb1f39fd4f1e5896b437481fbce532b1cd8aee8b0184fbWORKDIR
/app/frontend
03/11/2026 1:31 PM UTC
sha256:692a95e1743d650d70506f965fc995e24d803558cbf71da3d52944914aa7f80fCONFIG
01/01/0001 12:00 AM UTC
sha256:427f7d18e1e6344a58904ff17aa981ea624a8052449ef9e7e7aa9678946f2050CONFIG
01/01/0001 12:00 AM UTC