生生不息

生生不息

PVE虚拟机内portainer安装安装gitea

2025-02-17
PVE虚拟机内portainer安装安装gitea

背景

有段时间没有搞nas了,这次部署一个代码仓库项目。

Gitea 简介

Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

功能特性

支持活动时间线
支持 SSH 以及 HTTP/HTTPS 协议
支持 SMTP、LDAP 和反向代理的用户认证
支持反向代理子路径
支持用户、组织和仓库管理系统
支持添加和删除仓库协作者
支持仓库和组织级别 Web 钩子(包括 Slack 集成)
支持仓库 Git 钩子和部署密钥
支持仓库工单(Issue)、合并请求(Pull Request)以及 Wiki
支持迁移和镜像仓库以及它的 Wiki
支持在线编辑仓库文件和 Wiki
支持自定义源的 Gravatar 和 Federated Avatar
支持邮件服务
支持后台管理面板
支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(MySQL) 数据库
支持多语言本地化(21 种语言)

Gitea 部署

  1. 创建用于持久化存储 GitLab 数据的目录(命名规则参考)
    /mnt/sda1-16t/data/gitea

创建存储卷,nfs映射到pve目录。

  1. 通过 Portainer 管理面板创建一个 Gitea 和 MariaDB 专用的网络。

之前我们使用photoprism创建过,这次共用photoprism-net的网络就可以。

photoprism-net 网络中有 MariaDB 和 phpmyadmin

  1. 登录之前创建的 phpMyAdmin 管理页面,为 Gitea 创建专用数据库和账户

点击管理页面 – 账户 – 新增用户账户
1.png
用户名填写 gitea,密码填写 insecure,勾选 创建与用户同名的数据库并授予所有权限,然后点击底部的执行。(账户和密码可自行修改)
2.png

  1. 点击 portainer 控制面板左侧 Stacks(堆栈) ,在该页面中点击 Add stack(新建)

为 Stack 命名,根据需要修改下面提供的模板并粘贴到页面上,然后点击页面底部 Deploy the stack 完成创建

version: "3"

services:
 server:
   image: gitea/gitea:latest          # latest 安装最新的版本
   container_name: gitea
   environment:
     - USER_UID=1000
     - USER_GID=1000
     - DB_TYPE=mysql
     - DB_HOST=mariadb:3306
     - DB_NAME=gitea
     - DB_USER=gitea                  # 刚才 phpMyadmin 填写的账户
     - DB_PASSWD=insecure             # 刚才 phpMyadmin 填写的密码
     - TZ=Asia/Shanghai
   restart: always                    # 设置重启策略
   volumes:
     - "/var/lib/docker/volumes/gitea/_data:/data"   # Gitea 数据目录,冒号前面的部分,我这是存储卷
   ports:
     - "3000:3000"                    # HTTP 网页访问端口,例如要改为通过 6001 端口访问,就修改成 6001:3000
     - "2221:22"                      # SSH 端口
   networks:
     photoprism-net:                  #共用的网络

networks:
 photoprism-net:                      #共用的网络
   external: true

登录

创建成功后,你可以通过打开 Web 浏览器并转到以下位置登录到您的 Gitea 实例:

http://localhost:3000 # 运行安装向导后,首次注册的账户将成为默认的管理员

安装成功,自动进入首页
5.png

如果您不是在本机安装,请不要忘记将 localhost 替换为安装设备的实际 IP 地址
如果您修改了默认的 HTTP 访问端口,请不要忘记将 3000 替换为您自定义的端口