docker新增静态资源目录和服务配置

Change-Id: Id0de4c440b418598bb98d8eeb4bd4030561c8485
diff --git a/Dockerfile b/Dockerfile
index 5b49f05..7dc1c9c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -11,6 +11,9 @@
 # 设置工作目录
 WORKDIR /app
 
+# 创建上传目录
+RUN mkdir -p /app/uploads
+
 # 暴露端口
 EXPOSE 5011
 
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..6a7cba1
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,48 @@
+services:
+  # 后端服务
+  backend:
+    build: 
+      context: .  # 指向Java项目目录
+    ports:
+      - "5011:5011"
+    environment:
+      SPRING_PROFILES_ACTIVE: "prod"
+      # 确保时区和SSL参数一致
+      SPRING_DATASOURCE_URL: "jdbc:mysql://202.205.102.121:3306/echodevelop?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
+      SPRING_DATASOURCE_USERNAME: "team11"
+      SPRING_DATASOURCE_PASSWORD: "Team11000#"
+    volumes:
+      - ./uploads:/app/uploads  # 挂载上传目录
+    networks:
+      - app-network
+    # dockerfile: Dockerfile
+    restart: unless-stopped
+      
+    # 前端服务
+  frontend:
+    build:  # 指向React项目目录,仅构建静态文件
+      context: ../echo-frontend # 确保构建上下文包含所有文件
+    depends_on:
+      - backend
+    networks:
+      - app-network
+    # dockerfile: Dockerfile
+    restart: unless-stopped
+
+  nginx:
+    image: nginx:alpine
+    ports:
+      - "3011:80"        # 暴露 HTTP 端口
+      # - "443:443"      # 若需 HTTPS 则暴露 443
+    volumes:
+      - ../echo-frontend/nginx.conf:/etc/nginx/conf.d/default.conf  # 挂载 Nginx 配置
+      - ../echo-frontend/build:/usr/share/nginx/html  # 确保路径指向构建目录
+      - ./uploads:/usr/share/nginx/html/uploads  # 让前端能访问上传目录
+    depends_on:
+      - frontend
+      - backend
+    networks:
+      - app-network
+
+networks:
+  app-network:         # 自定义网络确保容器互通
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 9612287..6678bb5 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -6,6 +6,7 @@
 spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
 
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
+mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml
 
 # Mail configuration
 spring.mail.password=tljnebonhzhqecda
@@ -20,10 +21,6 @@
 spring.jpa.open-in-view=false
 
 pt.tracker.port=6969
-
 pt.tracker.torrent-dir=${user.dir}/data/torrents
-
 pt.tracker.allow-foreign=false
-pt.tracker.announce-url=/custom-announce
-
-mybatis-plus.mapper-locations=classpath:/mapper/**/*.xml
\ No newline at end of file
+pt.tracker.announce-url=http://localhost:6969/announce