【Docker】之安装Gitea
简介
Gitea是一个极易安装,运行非常快速,安装和使用体验良好的自建Git服务。采用Go作为后端语言,这使得只要生成一个可执行程序即可。并且他还支持跨平台,支持Linux、macOS和Windows以及各种架构,除了x86,amd64,还包括ARM和 PowerPC。
Github地址:https://github.com/go-gitea/gitea
功能
下载镜像
docker pull gitea/gitea
创建目录
mkdir -p /home/dockerdata/gitea/data
chmod -R 777 data
运行镜像
docker run -p 10022:22 -p 3000:3000 --name=gitea \
-e TZ=Asia/Shanghai \
--privileged=true \
--restart=always \
-v /root/.docker/gitea/data:/data \
-d gitea/gitea:latest
# --privileged=true 使用该参数,container内的root拥有真正的root权限(可根据需要选择是否要该参数)
# --restart=always 自动重启容器(可根据需要选择是否要该参数)
# -p 端口映射(宿主机端口:容器端口)
# -v 容器卷挂载 (宿主机目录 :容器目录)
# --net mybridge --ip=172.17.0.7 \ 自定义网络固定IP
开放端口
firewall-cmd --zone=public --add-port=10022/tcp --permanent
firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --reload
持久化需要用到数据库
- 创建mysql容器
docker run --restart=always --privileged=true -p 3307:3306 --name mysql8 \ --net docker-mynet --ip 172.172.0.5 \ -v /Users/lizhang/docker/mysql/conf/my.cnf:/etc/mysql/conf.d/mysqld.cnf \ -v /Users/lizhang/docker/mysql/data:/var/lib/mysql \ -v /Users/lizhang/docker/mysql/logs:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=12345678 \ -d mysql:8.0.23
- 配置远程访问(root),使用shell命令
- 远程连接mysql 并创建
gitea
数据库
如果您使用 MySQL,请使用INNODB
引擎以及utf8mb4
字符集
修改配置
访问http://10.211.55.81:3000/
,如下图修改
或者
修改下app.ini
的配置
cd /root/.docker/gitea/data/gitea/conf
vi app.ini
[server]
APP_DATA_PATH = /data/gitea
DOMAIN = 10.211.55.81
SSH_DOMAIN = 10.211.55.81
HTTP_PORT = 3000
ROOT_URL = http://10.211.55.81:3000/
DISABLE_SSH = false
SSH_PORT = 10022
SSH_LISTEN_PORT = 22
LFS_START_SERVER = true
LFS_CONTENT_PATH = /data/git/lfs
LFS_JWT_SECRET = kah2Fn5CWTTvaNpJopZUcsIsSLvNF91c1xdwS49BPJQ
OFFLINE_MODE = false
[database]
PATH = /data/gitea/gitea.db
DB_TYPE = mysql
HOST = 10.211.55.81:3306
NAME = gitea
USER = root
PASSWD = Cn123456
LOG_SQL = false
SCHEMA =
SSL_MODE = disable
CHARSET = utf8
PS gogs
docker run -p 10023:22 -p 3001:3000 --name=gogs \
--net docker-mynet --ip 172.172.0.11 \
--restart=always \
-e TZ="Asia/Shanghai" \
-v /root/.docker/gogs/data:/data \
-d gogs/gogs
问题
Webhook报错 webhook.ALLOWED_HOST_LIST setting
修改Delivery: Post "http://192.168.107.128:3080/hook?secret=tPSP4BPvclfFKPPT2XPgPnIs7fNcC0jQ": dial tcp 192.168.107.128:3080: webhook can only call allowed HTTP servers (check your webhook.ALLOWED_HOST_LIST setting), deny '192.168.107.128(192.168.107.128:3080)'
/data/gitea/conf/app.ini
配置文件,确保存在如下配置
设置ALLOWED_HOST_LIST来允许可以对外发送webhook的host的ip或者域名[webhook] ALLOWED_HOST_LIST = 192.168.107.128
重启服务就好了