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'));"]
02/12/2026 4:41 PM UTC
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4EXPOSE
[3000/tcp]
02/12/2026 4:41 PM UTC
sha256:ca513e6cae49db500acda1b24cb1f1c394dcd4b783ba1af0615e50af25641840COPY
/app/frontend/node_modules ./node_modules
02/12/2026 4:41 PM UTC
sha256:d92c85aa9e9ba3556575efd15634509f147b6ab072e50fc5e9c30461591a352eCOPY
/app/frontend/vite.config.ts ./vite.config.ts
02/12/2026 4:41 PM UTC
sha256:e9db0f4dce47456b344ed33c07e6e8e9c5a14f2c1933233d356e97d5d80bf173COPY
/app/frontend/package.json ./package.json
02/12/2026 4:41 PM UTC
sha256:597434ce2a7032e99af9f56cef478b7aa686a9df0f116d27dfe69bd3f52d02faCOPY
/app/frontend/dist ./dist
02/12/2026 4:41 PM UTC
sha256:4a56bb3b49283e9d48c48670d1f4e909b166b19e9186a4d9e9f1e11f09180770COPY
/legal /legal
02/12/2026 4:41 PM UTC
sha256:ee018b8a4dbd95790e77e93dce69a084aa93f0425848b6d15bf8a5bb4952e022WORKDIR
/app/frontend
02/12/2026 4:35 PM UTC
sha256:656047634ac8a3c8224d0cc079a101a6c511f51d94dd64074a0762e3641f6ffcCONFIG
01/01/0001 12:00 AM UTC
sha256:00178db943e30e3c688e29745e5bccbae7143c30459912563e3528362b5aafbbCONFIG
01/01/0001 12:00 AM UTC