本文介绍以Docker Compose方式启动Gitea服务,参考使用 Docker 安装。
环境准备:需要事先在主机上安装好Docker及Docker Compose,具体可以参考:Docker实践之01-入门介绍,Docker进阶之01-Docker Compose编排工具。
如下Gitea部署示例中将Gitea相关配置文件保存在了用户~
路径。
# cd ~
# mkdir gitea # gitea安装目录
# cd gitea/
# mkdir data # 保存gitea配置文件的目录
# mkdir mysql # MySQL数据目录,gitea使用MySQL保存元数据
# vim docker-compose.yml # Docker Compose配置文件
文件docker-compose.yml
内容如下:
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.21.0
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./data:/data # 使用主机卷,挂载docker-compose.yml文件所在目录下的data目录作为gitea的数据目录
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000" # 映射本机的3000端口到Docker容器内的3000端口
- "222:22" # 映射本机的222端口到Docker容器内的22端口
depends_on:
- db
db:
image: mysql:8 # 使用MySQL保存gitea元数据
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.yml文件所在目录下的mysql目录作为gitea元数据库的目录
启动Docker容器:
# cd ~/gitea
# docker-compose up # 如果需要后台启动,添加-d参数,即:docker-compose up -d
查看服务是否启动成功:
# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
gitea gitea/gitea:1.21.0 "/usr/bin/entrypoint /bin/s6-svscan /etc/s6" server 23 hours ago Up 45 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:222->22/tcp, :::222->22/tcp
gitea-db-1 mysql:8 "docker-entrypoint.sh mysqld" db 23 hours ago Up 45 minutes 3306/tcp, 33060/tcp
访问http://主机IP:3000
进行初始化安装,需要添加管理员用户并设置密码。
安装完毕后再次访问http://主机IP:3000
,在左上角点击【登录】按钮,输入初始化安装时设置的管理员用户名和密码,即可进入到管理后台。
在右上角点击加号+
即可添加组织或仓库,之后便可以使用git客户端访问指定的仓库数据。
如果允许外部应用通过API接口访问Gitea服务中的仓库数据,需要创建Access Token
,路径:【设置】-> 【应用】-> 【管理 Access Token】,设置一个令牌名称并选择相应的权限,点击【生成令牌】即可。
注:生成的API访问令牌串只会展示一次,需要复制下来便于使用。
【参考】
Gitea是什么?
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,在下面评论区告诉我^_^^_^