Skip to main content

🐳 使用 Docker Compose 部署

快速开始

在开始部署之前,建议先阅读《写在前面》,快速了解 RollCode 的基本信息。

📋 前置准备

环境要求

重要提示

建议按照 Docker 官方文档进行安装,因为部分 Linux 发行版的软件仓库中的 Docker 版本可能较旧。

🚀 部署步骤

1. 创建项目目录

创建并进入项目目录

mkdir ~/rollcode && cd ~/rollcode
数据存储说明

所有 RollCode 的数据都将保存在此目录中,请确保妥善保管。

2. 配置 Docker Compose

镜像源说明

推荐镜像源优先级:

  1. 🏆 官方源rollcode/rollcode:beta(推荐)
  2. 🚀 国内源registry.rollcode.cn/rollcode/rollcode:beta(国内用户可选)
版本说明
  • beta:获取最新的内测版本,包含最新功能和修复
  • 建议使用最新版本以获得最新功能和安全修复
~/rollcode/docker-compose.yaml
version: '3.8'
services:
network-service:
image: alpine
restart: always
ports:
- ${ROLLCODE_PORT}:${ROLLCODE_PORT}
- ${ROLLCODE_HTTPS_PORT}:${ROLLCODE_HTTPS_PORT}
- 9090:9090
- ${MINIO_PORT}:${MINIO_PORT}
command: tail -f /dev/null
networks:
- rollcode_network

rollcode:
image: rollcode/rollcode:${ROLLCODE_VERSION}
restart: on-failure:3
env_file:
- .env
volumes:
- '.rollcode_data:/data'
network_mode: 'service:network-service'

minio:
image: minio/minio
network_mode: 'service:network-service'
volumes:
- '.minio_data:/etc/minio/data'
environment:
- 'MINIO_API_CORS_ALLOW_ORIGIN=\*'
env_file:
- .env
restart: always
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:${MINIO_PORT}/minio/health/live']
interval: 30s
timeout: 10s
retries: 3
entrypoint: >
/bin/sh -c "
minio server /etc/minio/data --address ':${MINIO_PORT}' --console-address ':9090' &
MINIO_PID=\$!
while ! curl -s http://localhost:${MINIO_PORT}/minio/health/live; do
echo 'Waiting for MinIO to start...'
sleep 1
done
sleep 5
mc alias set myminio http://localhost:${MINIO_PORT} ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}
echo 'Creating bucket ${MINIO_ROLLCODE_BUCKET}'
mc mb myminio/${MINIO_ROLLCODE_BUCKET}
mc anonymous set download myminio/${MINIO_ROLLCODE_BUCKET}
wait \$MINIO_PID
"

networks:
rollcode_network:
driver: bridge

3. 配置说明

如果是完整部署,还需要添加.env文件,配置示例:

~/rollcode/.env
ROLLCODE_VERSION=beta-25043002
ROLLCODE_PORT=8080
ROLLCODE_HTTPS_PORT=8443

MINIO_PORT=9000
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio123
MINIO_ROLLCODE_BUCKET=rollcode

RollCode 服务配置

参数说明示例值
ROLLCODE_PORTRollCode http 端口8080
ROLLCODE_HTTPS_PORTRollCode https 端口8443
ROLLCODE_HOSTRollCode域名(可选)https://yousite.com

MinIO 服务配置

参数说明示例值
MINIO_PORTMinIO 端口9000
MINIO_ROOT_USERMinIO 用户名minio
MINIO_ROOT_PASSWORDMinIO 密码minio123
MINIO_ROLLCODE_BUCKETMinIO 桶名rollcode

4. 启动服务

# 启动所有服务
docker-compose up -d

# 查看实时日志
docker-compose logs -f

5. 激活 RollCode

完成服务启动后,请按照激活指南完成 RollCode 的激活。

6. 更新服务

要更新 RollCode 服务,请按以下步骤操作:

  1. 修改 docker-compose.yaml 中的镜像版本
  2. 执行更新命令:
# 拉取最新镜像
docker-compose pull

# 重新启动服务
docker-compose up -d
版本更新说明
  • 建议定期查看更新日志获取最新版本号
  • Beta 版本数据不会丢失,但可能存在一些 bug,请及时反馈
  • 支持快速回滚到任意历史版本

🔧 常见问题

如何查看服务状态?
# 查看所有容器状态
docker-compose ps

# 查看服务日志
docker-compose logs -f
如何备份数据?

所有数据都存储在 ~/rollcode(具体目录根据实际情况)工作目录下,建议定期备份以下目录:

  • .rollcode_data
  • .minio_data

📚 相关文档