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'));"]
06/01/2026 11:49 AM UTC
sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4EXPOSE
[3000/tcp]
06/01/2026 11:49 AM UTC
sha256:f211474dc669a2e3c90c8d727feeeec415369fd0524b858e09a879b619366c35COPY
/app/frontend/node_modules ./node_modules
06/01/2026 11:49 AM UTC
sha256:badb517322420f4246ea789dfed955e9c2ebe3ca0aeed9e0cffd64afc81c1d38COPY
/app/frontend/vite.config.ts ./vite.config.ts
06/01/2026 11:49 AM UTC
sha256:58b1da248d92d6459bff695ef87f582e598e4f4f2cdb8e2ffcd5c5995e70b0ebCOPY
/app/frontend/package.json ./package.json
06/01/2026 11:49 AM UTC
sha256:8cb4f77ea423080fe4039602c39f18e92f32e8bfe796986ef94668f70323b85fCOPY
/app/frontend/dist ./dist
06/01/2026 11:49 AM UTC
sha256:ab74338aefb1adc45be0b00dad521349f770be05eba242474052b75d62b1e7feCOPY
/legal /legal
06/01/2026 11:49 AM UTC
sha256:782c18a84d0418cf3660f95e920b84c3fdef25d1e23301240be254e66f042efcWORKDIR
/app/frontend
06/01/2026 11:45 AM UTC
sha256:692a95e1743d650d70506f965fc995e24d803558cbf71da3d52944914aa7f80fCONFIG
01/01/0001 12:00 AM UTC
sha256:427f7d18e1e6344a58904ff17aa981ea624a8052449ef9e7e7aa9678946f2050CONFIG
01/01/0001 12:00 AM UTC

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.