自建博客平台Ghost Docker部署,NAS一键启动内容管理系统
作者
小编
发布时间

项目介绍
Ghost 是一个现代化的开源内容管理系统(CMS),专为博客、杂志和新闻出版物而设计。它采用 Node.js 构建,提供了简洁优雅的编辑体验和强大的发布功能。无论你是独立博主、内容创作者还是媒体机构,Ghost 都能帮助你快速搭建专业的在线出版平台。
Ghost 具有轻量级、高性能的特点,支持 Markdown 编辑、会员系统、邮件订阅、SEO 优化等丰富功能。通过 Docker 容器化部署,让你可以在任何服务器上一键启动自己的内容平台。
项目地址:点我跳转
部署安装
如果你需要在公网上访问 Ghost,建议配置内网穿透服务。推荐使用 帕斯内网穿透 进行域名映射,先注册账号备用。具体操作步骤可参考 帕斯内网穿透全平台快速指南,轻松实现远程访问。
使用 Docker Compose 快速部署
复制下列的配置文件到你的服务器:
1version: '3.8'23services:4 mysql:5 image: mysql:8.06 environment:7 MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD}8 MYSQL_DATABASE: ghost9 MYSQL_USER: ghost10 MYSQL_PASSWORD: ${DATABASE_PASSWORD}11 volumes:12 - mysql_data:/var/lib/mysql13 restart: unless-stopped1415 ghost:16 image: ghost:latest17 depends_on:18 - mysql19 environment:20 database__client: mysql21 database__connection__host: mysql22 database__connection__user: ghost23 database__connection__password: ${DATABASE_PASSWORD}24 database__connection__database: ghost25 url: http://${DOMAIN}26 ports:27 - "2368:2368"28 volumes:29 - ghost_content:/var/lib/ghost/content30 restart: unless-stopped3132volumes:33 mysql_data:34 ghost_content:
打开飞牛 NAS 或其他 NAS 设备,进入 Docker 管理界面。
第一步:配置环境变量
在部署前,你需要创建一个 `.env` 文件,配置以下必要参数:
必须设置的环境变量:
- `DOMAIN`:你的 Ghost 网站域名,例如 `myblog.com`
- `DATABASE_ROOT_PASSWORD`:MySQL 根密码(建议使用 `openssl rand -hex 32` 生成随机密码)
- `DATABASE_PASSWORD`:Ghost 数据库密码(建议使用 `openssl rand -hex 32` 生成随机密码)
可选设置的环境变量:
- `ADMIN_DOMAIN`:独立的管理后台域名,例如 `admin.myblog.com`(推荐配置)
- `SMTP_HOST`:邮件服务器地址(用于发送订阅邮件)
- `SMTP_USER`:邮件服务账号
- `SMTP_PASSWORD`:邮件服务密码
第二步:启动容器
将上述配置文件保存后,在文件所在目录执行以下命令:
1docker compose up -d
系统会自动下载所需镜像并启动 Ghost 服务和 MySQL 数据库。
第三步:端口配置说明
- 容器内端口:Ghost 运行在容器内的 `2368` 端口
- 主机映射端口:默认映射到主机的 `2368` 端口
如果你的主机上 `2368` 端口已被占用,可以修改配置文件中的端口映射。例如,将 `'2368:2368'` 改为 `'8080:2368'`,这样就可以通过 `http://你的IP:8080` 访问 Ghost。
第四步:存储配置
Ghost 需要持久化存储以下数据:
- `ghost_content`:存储你的文章、主题、上传的媒体文件等
- `mysql_data`:数据库文件存储位置
这些卷已在配置文件中定义,Docker 会自动管理存储。如需自定义存储位置,可将卷路径改为具体的本地路径,例如:
1volumes:2 - /data/ghost_content:/var/lib/ghost/content3 - /data/mysql_data:/var/lib/mysql
第五步:访问 Ghost
部署完成后,打开浏览器访问:
1http://你的域名:2368
或直接访问你配置的域名。首次访问会进入初始化界面,按照提示创建管理员账号,即可开始使用 Ghost。
访问管理后台:`http://你的域名:2368/ghost`
本篇教程结束。祝你使用 Ghost 愉快!