easysoft/gitea Docker Image
QuickOn Gitea应用镜像是一个自托管Git服务程序,基于Gitea构建,支持SSH/HTTP协议、用户认证、仓库管理、工单系统等功能,安装简单、跨平台运行,适用于团队或个人搭建私有代码仓库。
QuickOn Gitea 应用镜像
申明: 该软件镜像是由QuickOn打包。在发行中提及的各自商标由各自的公司或个人所有,使用它们并不意味着任何从属关系。
快速参考
- 通过 https://www.qucheng.com/app-install/install-gitea-134.html 一键安装 Gitea
- https://github.com/quicklyon/gitea-docker
- https://github.com/go-gitea/gitea
- https://gitea.io/
一、关于 Gitea
Gitea 是一个自己托管的Git服务程序。他和GitHub, Bitbucket or Gitlab等比较类似。他是从 Gogs 发展而来,不过我们已经Fork并且命名为Gitea。对于我们Fork的原因可以看 https://blog.gitea.io/2016/12/welcome-to-gitea/。
Gitea官网:https://gitea.io/
目标
Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC。
功能特性
- 支持活动时间线
- 支持 SSH 以及 HTTP/HTTPS 协议
- 支持 SMTP、LDAP 和反向代理的用户认证
- 支持反向代理子路径
- 支持用户、组织和仓库管理系统
- 支持添加和删除仓库协作者
- 支持仓库和组织级别 Web 钩子(包括 Slack 集成)
- 支持仓库 Git 钩子和部署密钥
- 支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
- 支持迁移和镜像仓库以及它的 Wiki
- 支持在线编辑仓库文件和 Wiki
- 支持自定义源的 Gravatar 和 Federated Avatar
- 支持邮件服务
- 支持后台管理面板
- 支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库
- 支持多语言本地化(21 种语言)
- 支持软件包注册中心(Composer/Conan/Container/Generic/Helm/Maven/NPM/Nuget/PyPI/RubyGems)
系统要求
- 最低的系统硬件要求为一个廉价的树莓派
- 如果用于团队项目,建议使用 2 核 CPU 及 1GB 内存
浏览器支持
Chrome, Firefox, Safari, Edge
二、支持的版本(Tag)
由于版本比较多,这里只列出最新的5个版本,更详细的版本列表请参考:https://hub.docker.com/r/easysoft/gitea/tags/
- https://github.com/go-gitea/gitea/releases/tag/v1.23.1
- https://github.com/go-gitea/gitea/releases/tag/v1.22.2
- https://github.com/go-gitea/gitea/releases/tag/v1.21.11
- https://github.com/go-gitea/gitea/releases/tag/v1.20.4
- https://github.com/go-gitea/gitea/releases/tag/v1.19.4
- https://github.com/go-gitea/gitea/releases/tag/v1.18.5
- https://github.com/go-gitea/gitea/releases/tag/v1.17.4
三、获取镜像
推荐从 https://hub.docker.com/r/easysoft/gitea 拉取我们构建好的官方Docker镜像。
bashdocker pull easysoft/gitea:latest
如需使用指定的版本,可以拉取一个包含版本标签的镜像,在Docker Hub仓库中查看 https://hub.docker.com/r/easysoft/gitea/tags/
bashdocker pull easysoft/gitea:[TAG]
四、持久化数据
如果你删除容器,所有的数据都将被删除,下次运行镜像时会重新初始化数据。为了避免数据丢失,你应该为容器提供一个挂在卷,这样可以将数据进行持久化存储。
为了数据持久化,你应该挂载持久化目录:
- /data 持久化数据
如果挂载的目录为空,首次启动会自动初始化相关文件
bash$ docker run -it \ -v $PWD/data:/data \ docker pull easysoft/gitea:latest
或者修改 docker-compose.yml 文件,添加持久化目录配置
bashservices: Gitea: ... volumes: - /path/to/persistence:/data ...
五、环境变量
| 变量名 | 默认值 | 说明 |
|---|---|---|
| EASYSOFT_DEBUG | false | 是否打开调试信息,默认关闭 |
| APP_DOMAIN | 0.0.0.0:8080 | Gitea域名,影响访问与仓库的地址 |
| APP_PROTOCOL | https | Gitea域名协议 |
| MYSQL_HOST | 127.0.0.1 | MySQL 主机地址 |
| MYSQL_PORT | 3306 | MySQL 端口 |
| MYSQL_DB | gitea | spug 数据库名称 |
| MYSQL_USER | root | MySQL 用户名 |
| MYSQL_PASSWORD | pass4QuickOn | MySQL 密码 |
| DEFAULT_ADMIN_USER | gitea | 默认管理员名称 |
| DEFAULT_ADMIN_PASSWORD | pass4Gitea | 默认管理员密码 |
| GITEA_ADMIN_EMAIL | *** | 管理员***地址 |
| ENABLE_SWAGGER | false | 是否启动Swagger API页面 |
| ALLOWED_HOST_LIST | * | 信任的 Webhook 域名列表 |
| MAIL_ENABLED | false | 是否启用***功能 |
| SMTP_HOST | mail.demo.com | ***地址 |
| SMTP_PORT | 465 | ***端口 |
| SMTP_USER | *** | ***发送账号 |
| SMTP_PASS | mail4Gitea | ***发送账号密码 |
| SSH_LISTEN_PORT | 22 | 默认监听22 |
| START_SSH_SERVER | false | 默认不开启ssh |
| DISABLE_SSH | false | 默认不禁用ssh |
六、运行
6.1 单机Docker-compose方式运行
bash# 启动服务 make run # 查看服务状态 make ps # 查看服务日志 docker-compose logs -f gitea
说明:
- 启动成功后,打开浏览器输入
http://<你的IP>:8080访问管理后台 - 默认用户名:
gitea,默认密码:pass4Gitea - https://github.com/quicklyon/gitea-docker/blob/main/VERSION 文件中详细的定义了Makefile可以操作的版本。
- https://github.com/quicklyon/gitea-docker/blob/main/docker-compose.yml。
七、版本升级
容器镜像已为版本升级做了特殊处理,当检测数据(数据库/持久化文件)版本与镜像内运行的程序版本不一致时,会进行数据库结构的检查,并自动进行数据库升级操作。
因此,升级版本只需要更换镜像版本号即可:
修改 docker-compose.yml 文件
diff... gitea: - image: easysoft/gitea:1.17.0-20220729 + image: easysoft/gitea:1.17.1-20220822 container_name: gitea ...
更新服务
bash# 是用新版本镜像更新服务 docker-compose up -d # 查看服务状态和镜像版本 docker-compose ps
easysoft 命名空间的其他可用镜像:
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务