Merge "连接了种子搜索" into main
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..af607d2
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,15 @@
+# Build stage
+#FROM registry.cn-hangzhou.aliyuncs.com/library/node:18-alpine as build-stage
+FROM node:18-alpine AS build
+WORKDIR /app
+COPY package*.json ./
+RUN npm install
+COPY .. .
+RUN npm run build
+
+# Production stage
+#FROM registry.cn-hangzhou.aliyuncs.com/library/nginx:stable-alpine as production-stage
+FROM nginx:stable-alpine AS base
+COPY --from=build /app/dist /usr/share/nginx/html
+EXPOSE 80
+CMD ["nginx", "-g", "daemon off;"]
\ No newline at end of file
diff --git a/nginx.conf b/nginx.conf
new file mode 100644
index 0000000..7dd34cc
--- /dev/null
+++ b/nginx.conf
@@ -0,0 +1,39 @@
+server {
+ listen 80;
+ server_name localhost;
+
+ # 前端静态文件
+ location / {
+ root /usr/share/nginx/html;
+ index index.html index.htm;
+ try_files $uri $uri/ /index.html;
+ }
+
+ # API 请求代理到后端
+ location /api {
+ proxy_pass http://backend:8080;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection 'upgrade';
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_cache_bypass $http_upgrade;
+
+ # 处理 CORS
+ add_header 'Access-Control-Allow-Origin' '*';
+ add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
+ add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,sapling-token';
+
+ if ($request_method = 'OPTIONS') {
+ return 204;
+ }
+ }
+
+ # 健康检查
+ location /health {
+ access_log off;
+ return 200 "healthy\n";
+ }
+}
\ No newline at end of file