搭建一个自己的私有仓库-Gitea
搭建Gitea
gitea服务除了需要gitea
本身的镜像外,还需要一个数据库来存储用户,权限等等关系,如果我们不设置,可以使用默认的SQLite3 来初始化一个。我这边一步到位,使用了pg数据库。
1、首先我们需要创建一个gitea仓库数据的映射地址。比如我们创建了一个/docker/gitea
目录。并且在里面提前创建好data
和config
以及postgres
文件夹。在/docker/gitea
里面创建一个docker-compose.yml
文件,打开后复制脚本内容。
内容:
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.22.0
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data
image: gitea/gitea:1.22.0 #这个是gitea的镜像名称,可以去官方查看版本,官方地址:https://docs.gitea.com/installation/install-with-docker
- GITEA__database__DB_TYPE=postgres #要使用的数据库
- GITEA__database__HOST=db:5432 #数据库端口
- GITEA__database__NAME=gitea #为gitea分配的仓库名称,如果我们要在以前的仓库里面,自己创建修改,如果数据库镜像也新建,就直接写好这个配置文件即可,会自动创建
- GITEA__database__USER=gitea #数据库用户名
- GITEA__database__PASSWD=gitea #数据库用户密码
- /docker/gitea/data:/var/lib/gitea # 将gitea数据与刚才新建的本地文件夹data进行映射
- /docker/gitea/config:/etc/gitea # 将gitea配置与刚才新建的本地文件夹data进行映射
- "3000:3000" # web界面访问端口,左边可以改为自己服务想要的端口,右边不动
- "2222:2222" # ssh端口,左边可以改为自己服务想要的端口,右边不动
db: # 如果我们为gitea新建数据库镜像,需要配置数据库镜像脚本,如果使用原有数据库,请删除db所有配置,并注意填写上面数据库配置
image: postgres:14 #数据库,这个是PG的数据库,如果使用MSQL就改成mysql:8
- POSTGRES_USER=gitea # 用户名
- POSTGRES_PASSWORD=gitea # 密码
- POSTGRES_DB=gitea # 仓库名称
官方建议:卷应由在配置文件中指定的UID/GID的用户/组所有。默认情况下,Docker中的Gitea将使用uid:1000 gid:1000。如果需要,您可以使用以下命令设置这些文件夹的所有权:
sudo chown 1000:1000 /docker/gitea/config/ /docker/gitea/data/
如果发现设置了以上命令,导致下一步启动服务无法正常启动,例如gitea-server-1
,则不要对/docker/gitea/config/
和/docker/gitea/data/
设置权限。
使用 docker-compose ps
命令可以查看 Gitea 是否正确启动。可以使用 docker-compose logs
命令查看日志。
等我们拉取完镜像,并且通过docker-compose ps
确保镜像已经正常启动。就可以搭建服务的ip+配置的端口来访问安装了。如果没有正常启动,请查看日志,看看端口是不是冲突了或者哪里配置是不是出了问题。
注册管理员账户
我们登录进来后,其实使用起来依旧是仓库的那些操作,创建仓库,版本分支,代码合并,创建组织(就是创建一个项目组)等等,发布包,以及镜像模式同步其它仓库(github,gitlab等等,定时同步)。
创建一个仓库
接下来我们就可以连接这个仓库地址,然后进行代码提交和管理了,和github以及gitlab大同小异。
这里,我们可以做整个系统的管理,包括用户管理,仓库管理,监控等等。如果我们一些配置无法通过管理中心修改,需要去更改配置文件。就是我们一开始创建的config文件夹,它下面会自动创建一个app.ini文件。以下只是本次默认的一些配置,我们可以查看官方文档针对自己再进行更适合自己的优化与配置。之前我们没配置或者配置错的所有配置其实都可以在这个配置文件里面更改,改完记得重启容器让其生效即可。
如果要修改就打开/config目录下的app.ini文件进行修改。