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'));"]
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

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.