Docker项目
docker与docker compose安装
docker常用命令
Halo博客部署
cloudreve部署
filebrowser部署
思源笔记部署
piwigo部署
MrDoc觅思文档部署
测速服务器部署
hysteria部署
Jellyfin部署
noVNC部署
zfile部署
临时邮箱forsaken-mail部署
frp部署
freenom自动续期
WordPress安装
密码管理工具Bitwarden
流媒体解锁测试
traffmonetizer
peer2profit
lookbusy
showdoc安装
repocket部署
v2rayA安装
wiz笔记
甲骨文保活(koalalove/oracle-stress-mem)
Seafile社区版安装与Caddy反代配置
telegram-rss-bot
备份docker镜像至自己的docker hub仓库
将docker hub不同架构镜像合并
moodle安装
mindoc安装
koalalove/chromium
Open WebUI
moodle
本文档使用 MrDoc 发布
-
+
首页
mindoc安装
基于[mindoc](https://github.com/mindoc-org/mindoc "mindoc") # 构建过程 ## 克隆源码 ```bash git clone https://github.com/mindoc-org/mindoc.git ``` ## 更改配置文件 `cd mindoc/conf` 将`app.conf.example`命名为`app.conf` ## dockerfile ```bash FROM debian:bookworm-slim # 安装必要的工具和依赖 RUN apt-get update && \ apt-get install -y --no-install-recommends \ git \ curl \ ca-certificates \ build-essential \ sqlite3 RUN rm -rf /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && date # 安装 Golang(AMD64 版本) RUN curl -fsSL https://go.dev/dl/go1.21.5.linux-amd64.tar.gz | tar -C /usr/local -xz # 安装 Golang(ARM 版本) # RUN curl -fsSL https://go.dev/dl/go1.21.5.linux-arm64.tar.gz | tar -C /usr/local -xz # 设置 Golang 环境变量 ENV PATH="/usr/local/go/bin:${PATH}" ENV GOPATH="/go" ENV GOBIN="/go/bin" # 设置工作目录 WORKDIR / # 将本地克隆的 mindoc 项目复制到容器中 COPY . . # 将 init.sh 脚本复制到容器中 COPY init.sh /init.sh RUN chmod +x /init.sh # 切换到 mindoc 目录 WORKDIR /mindoc COPY ./mindoc/conf /mindoc/__default_assets__/conf COPY ./mindoc/database /mindoc/__default_assets__/database COPY ./mindoc/static /mindoc/__default_assets__/static COPY ./mindoc/uploads /mindoc/__default_assets__/uploads COPY ./mindoc/views /mindoc/__default_assets__/views # 安装 Go 依赖 RUN go mod tidy -v # 编译项目(启用 CGO) RUN CGO_ENABLED=1 go build -ldflags "-w" -o mindoc main.go # 设置入口脚本为 init.sh,保证容器启动时执行初始化并启动应用 #ENTRYPOINT ["/init.sh"] # 暴露端口(假设 mindoc 默认使用 8181 端口) EXPOSE 8181 RUN rm -rf /mindoc/conf /mindoc/database /mindoc/runtime /mindoc/static /mindoc/uploads /mindoc/views ENTRYPOINT ["/bin/bash", "/init.sh"] # 挂载数据卷 VOLUME ["/app/mindoc/conf", "/app/mindoc/database", "/app/mindoc/runtime", "/app/mindoc/static", "/app/mindoc/uploads", "/app/mindoc/views"] ``` ## 初始化脚本(init.sh) ```bash #!/bin/bash set -eux # 默认资源 if [ ! -d "/mindoc/conf" ]; then mkdir -p "/mindoc/conf" ; fi if [[ -z "$(ls -A -- "/mindoc/conf")" ]] ; then cp -r "/mindoc/__default_assets__/conf" "/mindoc/" ; fi if [ ! -d "/mindoc/static" ]; then mkdir -p "/mindoc/static" ; fi if [[ -z "$(ls -A -- "/mindoc/static")" ]] ; then cp -r "/mindoc/__default_assets__/static" "/mindoc/" ; fi if [ ! -d "/mindoc/views" ]; then mkdir -p "/mindoc/views" ; fi if [[ -z "$(ls -A -- "/mindoc/views")" ]] ; then cp -r "/mindoc/__default_assets__/views" "/mindoc/" ; fi if [ ! -d "/mindoc/uploads" ]; then mkdir -p "/mindoc/uploads" ; fi if [[ -z "$(ls -A -- "/mindoc/uploads")" ]] ; then cp -r "/mindoc/__default_assets__/uploads" "/mindoc/" ; fi # 数据库等初始化 /mindoc/mindoc install # 运行 /mindoc/mindoc ``` # 直接使用 ## 创建目录 ```bash mkdir -p ./{conf,static,views,uploads,runtime,database} ``` ## docker-compose ```bash version: '3.8' services: mindoc: image: koalalove/mindoc:v2.1 container_name: mindoc restart: always ports: - "8185:8181" volumes: - ./conf:/mindoc/conf - ./static:/mindoc/static - ./views:/mindoc/views - ./uploads:/mindoc/uploads - ./runtime:/mindoc/runtime - ./database:/mindoc/database environment: - MINDOC_RUN_MODE=prod - MINDOC_DB_ADAPTER=sqlite3 - MINDOC_DB_DATABASE=./database/mindoc.db - MINDOC_CACHE=true - MINDOC_CACHE_PROVIDER=file - MINDOC_ENABLE_EXPORT=false - MINDOC_BASE_URL= - MINDOC_CDN_IMG_URL= - MINDOC_CDN_CSS_URL= - MINDOC_CDN_JS_URL= ```
koalalove
2025年3月5日 23:09
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码