1. 创建目录结构

mkdir -p ./svn_repo ./svn_config
chmod -R 777 ./svn_repo
chmod -R 777 ./svn_config

2. 创建 docker-compose.yml

version: '3.8'
services:
  svn-server:
    image: 'elleflorio/svn-server:latest'
    container_name: svn-server
    restart: always
    volumes:
      - ./svn_repo:/home/svn            # 仓库存储
      - ./svn_config:/etc/subversion    # 配置文件
    environment:
      TZ: Asia/Shanghai
    ports:
      - 3690:3690  # SVN 协议端口
      - 3691:80    # Web 管理界面

3. 启动容器

# 新版docker compose
docker compose up -d
# 旧版docker compose
docker-compose up -d

4. 创建用户

docker exec -t svn-server htpasswd -b /etc/subversion/passwd <username> <password>
# 示例:
docker exec -t svn-server htpasswd -b /etc/subversion/passwd admin admin123

5. 访问管理界面

浏览器打开 http://ip:3691/svnadmin,第一次进入会进行后台的配置管理,具体配置截图如下:

在这里插入图片描述

6. 初始配置

首次访问需要配置:

  • Subversion 授权文件: /etc/subversion/subversion-access-control
  • 用户身份验证文件: /etc/subversion/passwd
  • 代码仓库父目录: /home/svn
  • svn 可执行文件: /usr/bin/svn
  • svnadmin 可执行文件: /usr/bin/svnadmin

然后就部署完成了。

保存配置后,在登录页面直接登录步骤2创建的超级管理员账号即可使用,后续直接到web端生成账号和授权操作更方便。

登录首页功能示例图

4. 备份和持久化

  • ./svn_repo:所有 SVN 仓库数据
  • ./svn_config:用户、权限等配置
    重要:建议定期备份这两个目录!

更多推荐