Skip to content

快速开始

本指南将帮助你在 5 分钟内完成 Ocean CTF 平台的部署。只需 3 个步骤即可完成!

前置要求

在开始之前,请确保你的服务器满足以下要求:

  • 操作系统: Linux (推荐 Ubuntu 20.04+) / macOS / Windows
  • Docker: 20.10+
  • Docker Compose: 2.0+
  • 内存: 至少 4GB RAM
  • 磁盘: 至少 20GB 可用空间

安装 Docker

如果你还没有安装 Docker,请参考官方文档:

bash
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker

# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

部署步骤

1. 创建部署目录

bash
mkdir -p /opt/ctf-platform
cd /opt/ctf-platform

2. 下载配置文件

bash
# 下载 docker-compose.yml
curl -O http://ctf-docs.lostpeach.cn/docker-compose.yml

# 下载环境变量示例
curl -O http://ctf-docs.lostpeach.cn/env.example

3. 配置环境变量

复制环境变量示例文件并修改:

bash
# 复制示例文件
cp env.example .env

# 编辑配置文件,修改所有密码
vim .env

重要:请务必修改以下配置项:

  • MYSQL_ROOT_PASSWORD - MySQL root 密码
  • MYSQL_PASSWORD - MySQL 用户密码
  • REDIS_PASSWORD - Redis 密码
  • SECRET_KEY - 后端密钥(至少 32 位随机字符串)
  • FIRST_SUPERUSER_PASSWORD - 管理员密码

⚠️ 重要: 请务必修改所有密码为强密码!

4. 启动服务

bash
# 一键启动所有服务(会自动拉取镜像并初始化数据库)
docker compose up -d

自动初始化

首次启动时,系统会自动完成以下操作:

  • 等待 MySQL 数据库就绪
  • 创建数据库表结构
  • 创建默认管理员账号
  • 初始化系统配置

整个过程大约需要 1-2 分钟,请耐心等待。

5. 访问平台

打开浏览器访问:

默认管理员账号:

  • 邮箱: 在 .env 中配置的 FIRST_SUPERUSER
  • 密码: 在 .env 中配置的 FIRST_SUPERUSER_PASSWORD

验证部署

检查服务状态

bash
# 查看所有服务
docker compose ps

# 应该看到以下服务都在运行:
# - mysql
# - redis
# - backend
# - celery-worker
# - celery-beat
# - frontend

查看日志

bash
# 查看所有日志
docker compose logs -f

# 查看特定服务日志
docker compose logs -f backend

常见问题

服务无法启动?

  1. 检查端口是否被占用:
bash
netstat -tunlp | grep -E '80|3306|6379'
  1. 查看服务日志:
bash
docker compose logs

无法访问前端?

  1. 确认防火墙已开放 80 端口
  2. 查看 frontend 容器日志

数据库连接失败?

  1. 确认 MySQL 服务已启动
  2. 检查 .env 中的数据库配置
  3. 查看 backend 容器日志

下一步

获取帮助

如果遇到问题,可以:

  1. 查看 常见问题
  2. 查看 部署文档
  3. 提交 GitHub Issue
  4. 联系技术支持: 5829662@qq.com

Released under the MIT License.