--- #领域/未知 #复盘/0 #临时/备忘 #状态/待处理 20260310-备忘-主题名-文件内容 ## 一句话描述 [__发布obsidian______] --- docker-compose.yaml ```yaml volumes:   obsidian-vault:     external: true services:   # 2. Quartz 构建服务(修复目录操作)   quartz-builder:     image: ghcr.io/jackyzha0/quartz:latest     container_name: quartz-builder     restart: no     volumes:       - obsidian-vault:/vault     command: |       /bin/sh -c "         # 只清理 public 内容,不删目录         # 执行构建         apt update && apt install git -y && apt clean && rm -rf /var/lib/apt/lists/*;         cd /tmp;         git clone https://gitea.juecha.fun/chen/juechafun.git;         cd /usr/src/app/;         rm -rf content;         mv /tmp/juechafun content;         rm -rf content/01-*;         rm -rf content/05-*;         rm -rf content/202602*;         rm -rf content/Untitled*;         rm -rf content/Untitled*;         rm -rf content/健康运动*;         rm -rf content/模板*;         npx quartz build;         mv public/* /vault         echo 'Quartz 构建完成';       "   # 3. Nginx Web 服务   web-server:     image: nginx:alpine     container_name: quartz-web     restart: unless-stopped     ports:       - 30082:80     volumes:       - obsidian-vault:/usr/share/nginx/html:ro       - ./default.conf:/etc/nginx/conf.d/default.conf:ro     depends_on:       quartz-builder:         condition: service_completed_successfully networks: {} ``` default.conf ```conf server { listen 80; server_name localhost; root /usr/share/nginx/html; # 你的网站根目录(和容器挂载路径一致) index index.html index.htm; # 核心:自动补全 .html 后缀的配置 location / { # 规则解读: # 1. 先尝试访问原请求路径(如 /03-资源/xxx) # 2. 若不存在,尝试补全 .html 后缀(如 /03-资源/xxx.html) # 3. 若仍不存在,尝试作为目录访问(如 /03-资源/xxx/) # 4. 以上都不存在,返回 404 try_files $uri $uri.html $uri/ =404; # 可选:支持中文/特殊字符路径的 URL 编码解析 charset utf-8; # 确保 Nginx 识别 UTF-8 编码的中文路径 } } ```