2310
This commit is contained in:
1 parent
694f26fe0e
commit
c88b081fbb
2 files changed
+9
-19
No files matched your search
@@ -16,6 +16,10 @@ RUN npm ci --only=production && \
|
|||||||
FROM node:20-alpine AS builder
|
FROM node:20-alpine AS builder
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# 设置构建时环境变量(Turbopack 会内联这些值)
|
||||||
|
ENV BLOG_ROOT=/blog
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
# Copy package files
|
# Copy package files
|
||||||
COPY package.json package-lock.json ./
|
COPY package.json package-lock.json ./
|
||||||
|
|
||||||
@@ -64,6 +68,7 @@ EXPOSE 8016
|
|||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
ENV PORT=8016
|
ENV PORT=8016
|
||||||
ENV HOSTNAME="0.0.0.0"
|
ENV HOSTNAME="0.0.0.0"
|
||||||
|
ENV BLOG_ROOT=/blog
|
||||||
|
|
||||||
# Health check
|
# Health check
|
||||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||||
|
|||||||
@@ -1,25 +1,10 @@
|
|||||||
import path from "path";
|
import path from "path";
|
||||||
import os from "os";
|
import os from "os";
|
||||||
|
|
||||||
// 获取博客根目录
|
// 博客根目录
|
||||||
// 优先级:BLOG_ROOT 环境变量 > Docker 容器检测 > 上级目录
|
// Docker 构建时 BLOG_ROOT=/blog 已被 Turbopack 内联
|
||||||
function getBlogRoot(): string {
|
// 本地开发时回退到上级目录
|
||||||
// 1. 环境变量(非 Docker 部署时使用)
|
export const BLOG_ROOT = process.env.BLOG_ROOT || path.resolve(process.cwd(), "..");
|
||||||
const envRoot = process.env.BLOG_ROOT;
|
|
||||||
if (envRoot && envRoot.trim() && envRoot !== "undefined") {
|
|
||||||
return path.resolve(envRoot);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. Docker 容器检测:cwd 为 /app 时,博客挂载在 /blog
|
|
||||||
if (process.cwd() === "/app") {
|
|
||||||
return "/blog";
|
|
||||||
}
|
|
||||||
|
|
||||||
// 3. 回退到上级目录
|
|
||||||
return path.resolve(process.cwd(), "..");
|
|
||||||
}
|
|
||||||
|
|
||||||
export const BLOG_ROOT = getBlogRoot();
|
|
||||||
|
|
||||||
export const CONTENT_DIR = path.join(BLOG_ROOT, "content", "posts");
|
export const CONTENT_DIR = path.join(BLOG_ROOT, "content", "posts");
|
||||||
export const STATIC_DIR = path.join(BLOG_ROOT, "static");
|
export const STATIC_DIR = path.join(BLOG_ROOT, "static");
|
||||||
|
|||||||
Reference in new issue
Block a user