2.4 KiB
2.4 KiB
#领域/未知
#复盘/0 #临时/备忘 #状态/待处理
20260310-备忘-主题名-文件内容
一句话描述
[发布obsidian____]
docker-compose.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
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 编码的中文路径
}
}