gitea 从 windows 服务器迁移到 linux 服务器中并使用 docker 部署
-
在原来的 gitea 安装位置备份所有目录文件以及导出数据库文件
-
首先在服务器中创建 docker-compose.yaml 文件
version: "3"
# 创建mysql和gitea专用网络
networks:
gitea:
external: false
services:
server:
# 指定gitea镜像及版本
image: gitea/gitea:1.15.0
# 指定容器别名
container_name: gitea
# 配置容器环境
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=mysql
- DB_HOST=db:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
# 开机自启
restart: always
# 指定容器使用的网络
networks:
- gitea
# 配置挂载卷
volumes:
- ./data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# 配置端口映射
ports:
- "3000:3000"
- "222:22"
# 指定依赖(先安装依赖)
depends_on:
- db
db:
image: mysql:8.0
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
-
启动
docker-compose up -d
-
输入网址
ip:3000
配置安装 -
安装完成后进入 docker 中恢复备份的数据
-
首先恢复数据库数据
-
首先将备份的 sql 文件拷贝到 docker-compose.yaml 文件中 mysql 配置的映射文件夹 data
-
进入 docker 的 mysql 容器中
docker exec -it 容器ID /bin/bash
-
然后找到 mysql 目录下的 sql 文件
cd /var/lib/mysql && ls
-
然后进入 mysql 数据库中导入备份文件
mysql -u gitea -p # 输入mysql 密码登陆 show databases; use gitea; source beifen.sql;
-
至此数据库文件已恢复完成
-
-
然后恢复存储仓库 repositories
将备份的 repositories 目录中的全部文件拷贝到 docker-compose.yaml 文件中 gitea 配置的映射文件夹 ./data/git/repositories
即可
- 最后恢复个人配置文件 Custom
-
首先在 docker-compose.yaml 文件中的 gitea 中添加以下内容
environment: - GITEA_CUSTOM=/data/custom
-
然后将备份的 custom 文件夹中的全部文件复制到
./data/custom
中
-
之后修改
custom>conf>app.ini
中的RUN_USER = git
-
然后重启 gitea 即可
- 至此所有文件恢复完成
本文首发于本人博客:https://blog.gitnote.cn/post/gitea_copy_windows2linux/
版权信息: CC BY-NC-SA 4.0 (自由转载-非商用-相同方式共享-保持署名)