Skip to main content
NVIDIA
rag-frontend
Container
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
1-10 of 37 items

Modal Content

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.