一,环境准备:
服务器需要安装工具:
docker
docker-compose
低版本docker自带docker-compose无须再自行安装
云服务器需放开8000和80端口
一,docker安装
1.本地服务器无法直接get下来可复制链接至浏览器进行手动下载。
bash
wget https://download.docker.com/linux/static/stable/x86_64/docker-28.3.0.tgz
2.安装docker
bash
解压下载的tar包,并把解压出目录下所有内容拷贝到/usr/bin/下
tar xf docker-28.3.0.tgz
cp docker/* /usr/bin/
--------------------------------------------------------------------------------------------------------
配置docker的启动方式
vi /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd --selinux-enabled=false
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
chmod 777 /etc/systemd/system/docker.service
--------------------------------------------------------------------------------------------------------
重新加载systemd的配置文件,并设置docker的开机自启
systemctl daemon-reload && systemctl enable docker.service
启动并检查docker的状态
systemctl restart docker
docker info
-------------------------------------------------------------------------------------------
配置docker的守护进程文件
mkdir -p /etc/docker
vi /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"max-concurrent-downloads": 30,
"max-concurrent-uploads": 15,
"registry-mirrors": ["https://t3xbrfwz.mirror.aliyuncs.com"],
"live-restore": true
}
systemctl daemon-reload && systemctl restart docker
二,docker-compose插件安装
bash
下载插件包
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
授予执行权限
chmod +x /usr/local/bin/docker-compose
检查是否安装成功
docker-compose --vesrion
三,Ralph镜像源准备:
本地机器docker拉取镜像可能会失败,建议提前手动从香港服务器手动拉取镜像上传到本地机器。

二,部署Ralph
1.克隆项目代码
bash
git clone https://gitcode.com/gh_mirrors/ra/ralph
cd ralph/
2.启动容器。
因为ralph对原文件中5.8版本数据库不兼容所以需要对docker-compose-dev.yml文件进行修改,改为8.0版本的数据库。
注意:需要把原文件中的数据库部分的command的部分进行替换,防止Python连接失败
bash
db:
image: mysql:8.0
command: --default-authentication-plugin=mysql_native_password
environment:
...
这一步docker拉取失败可以自己从通国外网的机器下载上面镜像然后打包回传。
docker-compose -f docker/docker-compose-dev.yml up -d
3.检查 ralph/docker/ 是否有隐藏文件 .env 如果没有需要自己手动配置。

.env 配置文件如下
bash
# 数据库配置
DB_USER=ralph
DB_PASSWORD=ralph
DB_NAME=ralph
DB_HOST=db
DB_PORT=5432
# Redis 配置
REDIS_HOST=redis
REDIS_PORT=6379
# 关键配置:允许访问的主机名/IP
# 把你的服务器 IP 写进去,或者先写 * 允许所有(测试用)
ALLOWED_HOSTS=*
# 设置时区
TIME_ZONE=Asia/Shanghai
# 密钥生成(不需要改,默认即可)
SECRET_KEY=change-me-to-something-random-and-long-enough
4.初始化数据库
bash
docker-compose exec web init
5.创建管理员账户
bash
docker-compose exec web ralph createsuperuser
执行完ralph createsuperuser终端会提示你输入账号和密码。
Username: admin
Email address: admin@example.com
Password: ********
Password (again): ********
Superuser created successfully.
至此服务部署完成你先在可以通过网页来访问你的服务了。
如果设置完密码后,服务还是无法访问可以重新启动容器来解决问题。
docker-compose up -d
等待15秒检查容器是否正常运行
docker-compose ps
