chore(docker): add Dockerfiles and docker-compose for frontend and backend

- Add frontend Dockerfile with multi-stage build using node and nginx
- Add backend Dockerfile with multi-stage build to compile and serve app
- Add docker-compose.yml to define frontend and backend services with environment variables
- Configure nginx to serve SPA, enable gzip compression and caching for static assets
- Set up nginx reverse proxy for API requests to backend service on /api path
This commit is contained in:
MUIS1436
2026-01-31 10:03:30 +05:00
parent 5fa3fb3d15
commit d5cb1ded3e
4 changed files with 120 additions and 0 deletions

31
nginx.conf Normal file
View File

@@ -0,0 +1,31 @@
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
# Gzip compression
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml;
# Handle SPA routing
location / {
try_files $uri $uri/ /index.html;
}
# Cache static assets
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
# Proxy API requests to backend
location /api {
proxy_pass http://backend:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}