使用Docker部署Soft-Serve代码托管平台
Soft-Serve是一个轻量级的自托管Git服务器,本文将从技术实现角度详细介绍如何使用Docker容器化部署该服务。
容器镜像准备
Soft-Serve提供了官方维护的Docker镜像,用户可以直接拉取最新稳定版本:
docker pull charmcli/soft-serve:latest
基础容器运行方式
最基本的容器运行命令如下,需要注意几个关键配置项:
docker run \
--name=soft-serve \
--volume /path/to/data:/soft-serve \
--publish 23231:23231 \
--publish 23232:23232 \
--publish 23233:23233 \
--publish 9418:9418 \
-e SOFT_SERVE_INITIAL_ADMIN_KEYS="YOUR_ADMIN_KEY_HERE" \
--restart unless-stopped \
charmcli/soft-serve:latest
关键参数说明
-
数据持久化:通过
--volume
参数将容器内的/soft-serve
目录挂载到宿主机,确保仓库数据不会随容器销毁而丢失 -
端口映射:
- 23231:HTTP管理界面端口
- 23232:SSH协议端口
- 23233:Git协议端口
- 9418:Git守护进程端口
-
环境变量:
SOFT_SERVE_INITIAL_ADMIN_KEYS
用于设置初始管理员SSH公钥
使用Docker Compose部署
对于生产环境,推荐使用Docker Compose进行服务编排:
version: "3.1"
services:
soft-serve:
image: charmcli/soft-serve:latest
container_name: soft-serve
volumes:
- /path/to/data:/soft-serve
ports:
- 23231:23231
- 23232:23232
- 23233:23233
- 9418:9418
environment:
SOFT_SERVE_INITIAL_ADMIN_KEYS: "YOUR_ADMIN_KEY_HERE"
restart: unless-stopped
配置建议
- 将
/path/to/data
替换为实际的宿主机数据目录路径 - 管理员SSH公钥应替换为实际使用的公钥内容
- 考虑添加
healthcheck
配置项监控服务状态
重要注意事项
- 终端配置:切勿使用
--tty
或-t
参数运行容器,这会导致服务异常 - 安全建议:
- 定期备份挂载的数据卷
- 考虑使用TLS加密HTTP流量
- 限制SSH端口的访问来源
后续管理
部署完成后,管理员可通过以下方式访问:
- Web界面:
http://服务器IP:23231
- Git操作:使用配置的SSH密钥通过23232端口访问
通过这种容器化部署方式,开发者可以快速搭建私有的Git代码托管服务,同时享受Docker带来的便捷管理和维护优势。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考