阿栋的博客

翻身不粘锅

在CentOS上使用Docker Compose搭建Gitea服务

本文默认你已安装了 dockerdocker-compose

因为gitlab太吃内存了,个人要搭私服还是挺吃力的,相比于gitea就友好的多了。安装简单、轻量、占用资源少,非常适合小团队开发。下面就来简单举例使用gitea搭建git服务

使用Docker安装

一句命令搞定

1
docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /var/lib/gitea:/data gitea/gitea:latest

容器名为gitea,SSH公开端口为10022,gitea访问端口为10080,工作目录映射到/var/lib/gitea目录下

gitea中文网链接:https://docs.gitea.io/zh-cn/install-with-docker/

gitea官网链接:https://docs.gitea.io/en-us/install-with-docker/

使用Docker Compose安装

gitea官网也是推荐的docker compose来运行gitea,官网提供了MySQL、PostgreSQL和Sqlite三个数据库,我们使用PostgreSQL来做示范。以下是docker-compose.yml文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# docker-compose.yml
version: "2"

networks:
gitea:
external: false

services:
server:
image: gitea/gitea:latest
environment:
- USER_UID=1000
- USER_GID=1000
- DB_TYPE=postgres
- DB_HOST=db:5432
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "10080:3000"
- "10022:22"
depends_on:
- db

db:
image: postgres:9.6
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data

在docker-compose.yml所在的文件夹下执行docker-compose up -d命令安装gitea,使用docker-compose ps查看gitea是否启动,或者用docker-compose logs查看日志

在防火墙中放行:

1
2
3
4
firewall-cmd --add-port=13800/tcp --permanent
firewall-cmd --add-port=13822/tcp --permanent
# 防火墙未开启使用
systemctl start firewalld

重启防火墙:

1
firewall-cmd --reload

然后访问http://IP:10080 ,点击登录,配置gitea,此处要注意

  • SSH服务域名:你的IP或域名
  • SSH服务端口:使用在Docker容器公开的端口(像10080:22,22是Docker的内部监听端口,10080是Docker的公开端口)
  • HTTP服务端口:使用Docker的内部监听端口3000(如果此处填写错误会导致 gitea初始化一直失败,只能删除重装容器)
  • Gitea基本URL:你的IP或域名 + HTTP公开端口,http://IP:10080/

数据库设置不用改,在底部配置管理员账号密码,点击安装,等待半分钟gitea初始化完成