Skip to content

Cai-Zichun-Jason/Ghost-Blog-Automatic-Setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Ghost Blog Docker 部署套件

本项目提供了一套基于 Docker 和 Make 的自动化部署方案,用于快速搭建包含 Nginx + Ghost + MySQL 的生产级博客环境,并支持异地备份配置。

📁 目录结构

.
├── Makefile            # 【核心】项目管理入口,包含 setup, up, stop 等命令
├── check_env.sh        # 环境预检脚本
├── install_ghost.sh    # 配置生成脚本 (由 make setup 自动调用)
├── docker-compose.yml  # (自动生成) 容器编排文件
├── nginx.conf          # (自动生成) Nginx 配置文件
├── .env                # (自动生成) 包含密码等敏感环境变量
├── config.yaml         # (自动生成) 包含项目元配置信息
└── content/            # (自动生成) Ghost 博客数据目录

🚀 快速开始

第一步:环境检测

在开始之前,请运行检测脚本以确保服务器满足要求。

chmod +x check_env.sh
./check_env.sh

如果输出 "✅ 环境均设置完毕",则继续;否则请按照提示安装缺失软件。

第二步:初始化配置

此步骤将引导您输入域名、密码等信息,并生成所有配置文件。

make setup
  • 交互问答:脚本会询问您的域名、MySQL 密码、异地备份 IP 等。
  • 自动生成:回答结束后,会自动创建 .envdocker-compose.yml 等文件。
  • 启动确认:脚本最后会询问是否立即启动服务。

第三步:手动启动 (如果上一步未启动)

make up

🛠 常用命令 (Makefile)

本项目完全通过 make 指令进行管理:

命令 说明
./check_env.sh 环境检测。检查 Docker, Make 等必要依赖是否已安装。
make setup 初始化。运行配置向导,生成配置文件。
make up 启动服务。读取生成的配置并后台启动 Docker 容器。
make stop 暂停服务。停止容器运行,但保留容器实例。
make restart 重启服务。重启所有容器。
make logs 查看日志。实时滚动显示所有服务的日志。
make remove 清理环境。停止并删除容器,删除生成的配置文件(保留 content 数据)。

⚙️ 配置文件说明

初始化后,项目根目录会生成以下两个关键文件:

1. .env (敏感信息)

包含 Docker Compose 运行所需的可以直接引用的环境变量。

DOMAIN=blog.example.com
MYSQL_ROOT_PASSWORD=xxxx
GHOST_DB_PASSWORD=xxxx
BACKUP_USER_PASSWORD=xxxx

2. config.yaml (项目元数据)

用于记录非环境变量的配置信息,便于自动化运维工具读取。

app:
  domain: "blog.example.com"
  backup_whitelist_ip: "45.192.109.37"
deployment:
  engine: "docker-compose"
  created_at: "..."

🛡 关于异地备份

本部署脚本已内置了异地备份支持。 在 make setup 过程中,会询问 备份服务器 IP。服务启动后,MySQL 会自动创建一个名为 backup_user 的账号,并仅允许该 IP 进行连接。

请务必在云服务器的安全组/防火墙中开放 3306 端口给该备份 IP。

⚠️ 注意事项

  1. 重置项目:如果您输错了配置,可以运行 make remove 清理生成的配置,然后重新运行 make setup
  2. 数据持久化
    • 博客内容存储在 ./content
    • 数据库存储在 ./mysql
    • make remove 不会 删除这两个目录,确保数据安全。

About

Using setup script to deploy Ghost-based Blog within one line of command

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors