# 使用Node.js官方镜像作为基础镜像
FROM node:lts-alpine
# 设置容器内的工作目录
WORKDIR /data
# 将package.json和package-lock.json复制到工作目录
COPY package*.json ./
# 安装Wiki.js及其依赖
RUN npm install wiki.js --save \
&& npm install bullmq redis --save \
&& npm install @wiki-js/puppeteer --save \
&& npm install @types/node --save-dev \
&& apk add --no-cache icu-libs icu \
&& apk add --no-cache libgcc libstdc++ \
&& apk add --no-cache libintl
# 复制所有源代码到工作目录
COPY . .
# 设置环境变量
ENV NODE_ENV=production \
WIKI_PUBLIC_URL=http://your-wiki-url.com \
WIKI_INSTALLER_NAME="Your Name" \
WIKI_INSTALLER_EMAIL="your-email@example.com"
# 暴露80端口供外部访问
EXPOSE 80
# 启动Wiki.js
CMD ["node", "server"]
这个Dockerfile为在NAS上使用Docker搭建Wiki.js云知识库提供了一个基本的示例。它首先从Node.js的官方Alpine镜像创建一个环境,然后安装Wiki.js及其依赖,并设置必要的环境变量。最后,它暴露了80端口,并指定了启动命令。这个示例提供了一个简洁的模板,可以根据具体需求进行调整。