post bug fix

This commit is contained in:
Samandar Turgunboyev
2025-11-04 18:17:22 +05:00
8 changed files with 125 additions and 1 deletions

12
.dockerignore Normal file
View File

@@ -0,0 +1,12 @@
node_modules
dist
.git
.gitignore
.env.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
*.md
.vscode
.idea

12
.env
View File

@@ -1 +1,11 @@
VITE_API_URL=https://api.simpletravel.uz/api/v1/
# API Configuration
VITE_API_URL=https://simple-travel.felixits.uz/api/v1/
VITE_API_TIMEOUT=30000
# App Configuration
VITE_APP_NAME=simple-travel-admin
VITE_APP_VERSION=1.0.0
# Environment
NODE_ENV=production

12
.env.production Normal file
View File

@@ -0,0 +1,12 @@
# API Configuration
VITE_API_URL=https://simple-travel.felixits.uz/api/v1/
VITE_API_TIMEOUT=30000
# App Configuration
VITE_APP_NAME=simple-travel-admin
VITE_APP_VERSION=1.0.0
# Environment
NODE_ENV=production

20
Dockerfile Normal file
View File

@@ -0,0 +1,20 @@
# Build stage
FROM node:20-alpine
WORKDIR /app
# Copy dependencies
COPY package.json package-lock.json* ./
RUN npm ci --legacy-peer-deps
# Copy all source
COPY . .
# Set production env (agar .env.production bolsa ishlaydi)
ENV NODE_ENV=production
# Build for production
RUN npm run build
ENTRYPOINT npm run preview

20
docker-compose.yml Normal file
View File

@@ -0,0 +1,20 @@
services:
simple-travel-admin:
build:
context: .
dockerfile: Dockerfile
args:
- VITE_API_URL=${VITE_API_URL}
- VITE_APP_NAME=${VITE_APP_NAME}
container_name: simple-travel-admin
ports:
- "5263:5263"
env_file:
- .env.production
restart: unless-stopped
networks:
- network
networks:
network:
driver: bridge

33
nginx/nginx.conf Normal file
View File

@@ -0,0 +1,33 @@
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
# Gzip compression
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml+rss application/javascript application/json;
# Security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
# React Router support
location / {
try_files $uri $uri/ /index.html;
}
# Cache static assets
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
# Don't cache index.html
location = /index.html {
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
}

11
stack.yaml Normal file
View File

@@ -0,0 +1,11 @@
version: "3.9"
services:
simple-travel-front-admin:
image: muhammadvadud/simple-travel-front-admin:latest
ports:
- "5263:3000"
deploy:
replicas: 2
restart_policy:
condition: on-failure

View File

@@ -19,6 +19,12 @@ export default defineConfig({
host: true,
port: 5173,
},
preview: {
host: true, // Production (vite preview) uchun
port: 5263,
allowedHosts: ["admin.simpletravel.uz"], // ✅ bu yer muhim
},
build: {
outDir: "dist", // Vercel build chiqishini shu papkadan oladi
sourcemap: false, // Agar kerak bolmasa ochirib qoying