bitnamicharts/giteaGitea是一款轻量级代码托管解决方案,采用Go语言开发,具有资源消耗低、易于升级和支持多种数据库等特点。Bitnami Gitea镜像提供了一种简单、可靠的方式来部署和运行Gitea服务,适用于个人开发者、小型团队和企业内部使用。
Gitea官方网站
商标说明:本软件列表由Bitnami打包。所提及的各个商标分别归各自公司所有,使用这些商标并不意味着任何关联或认可。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/gitea
注意:如需在生产环境使用Gitea,建议尝试VMware Tanzu Application Catalog,即Bitnami目录的商业版本。
使用发布名称my-release安装Chart:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/gitea
注意:需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为Helm Chart仓库和存储库的引用。例如,对于Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
此命令使用默认配置在Kubernetes集群上部署Gitea。可在安装过程中配置的参数详见参数部分。
提示:使用
helm list命令列出所有发布
以下是一个基本的Docker Compose配置示例:
yamlversion: '3' services: gitea: image: docker.io/bitnami/gitea:latest ports: - "3000:3000" - "22:22" environment: - GITEA_ADMIN_USERNAME=admin - GITEA_ADMIN_PASSWORD=your_password - GITEA_ADMIN_EMAIL=*** - GITEA_DATABASE_TYPE=postgres - GITEA_DATABASE_HOST=postgresql - GITEA_DATABASE_NAME=gitea - GITEA_DATABASE_USER=gitea - GITEA_DATABASE_PASSWORD=gitea_password volumes: - gitea_data:/bitnami/gitea depends_on: - postgresql postgresql: image: docker.io/bitnami/postgresql:14 environment: - POSTGRESQL_USERNAME=gitea - POSTGRESQL_PASSWORD=gitea_password - POSTGRESQL_DATABASE=gitea volumes: - postgresql_data:/bitnami/postgresql volumes: gitea_data: postgresql_data:
使用PostgreSQL数据库运行Gitea:
console# 首先启动PostgreSQL docker run -d \ --name postgresql \ -e POSTGRESQL_USERNAME=gitea \ -e POSTGRESQL_PASSWORD=gitea_password \ -e POSTGRESQL_DATABASE=gitea \ -v postgresql_data:/bitnami/postgresql \ docker.io/bitnami/postgresql:14 # 然后启动Gitea docker run -d \ --name gitea \ -p 3000:3000 \ -p 22:22 \ --link postgresql:postgresql \ -e GITEA_ADMIN_USERNAME=admin \ -e GITEA_ADMIN_PASSWORD=your_password \ -e GITEA_ADMIN_EMAIL=*** \ -e GITEA_DATABASE_TYPE=postgres \ -e GITEA_DATABASE_HOST=postgresql \ -e GITEA_DATABASE_NAME=gitea \ -e GITEA_DATABASE_USER=gitea \ -e GITEA_DATABASE_PASSWORD=gitea_password \ -v gitea_data:/bitnami/gitea \ docker.io/bitnami/gitea:latest
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局Docker镜像仓库 | "" |
global.imagePullSecrets | 全局Docker仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认存储类 | "" |
global.storageClass | 已弃用:使用global.defaultStorageClass代替 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的securityContext部分,使其与Openshift restricted-v2 SCC兼容 | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 强制目标Kubernetes版本 | "" |
nameOverride | 部分覆盖gitea.fullname模板的字符串 | "" |
fullnameOverride | 完全覆盖gitea.fullname模板的字符串 | "" |
namespaceOverride | 完全覆盖common.names.namespace的字符串 | "" |
commonAnnotations | 添加到所有Gitea资源的通用注释 | {} |
commonLabels | 添加到所有Gitea资源的通用标签 | {} |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
usePasswordFiles | 将凭据挂载为文件而不是使用环境变量 | true |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | Gitea镜像仓库 | REGISTRY_NAME |
image.repository | Gitea镜像名称 | REPOSITORY_NAME/gitea |
image.digest | Gitea镜像摘要 | "" |
image.pullPolicy | Gitea镜像拉取策略 | IfNotPresent |
image.pullSecrets | 指定docker-registry密钥名称数组 | [] |
image.debug | 指定是否启用调试日志 | false |
adminUsername | 应用程序管理员用户名 | bn_user |
adminPassword | 应用程序管理员密码 | "" |
adminEmail | 管理员*** | *** |
appName | Gitea应用程序名称 | example |
runMode | Gitea运行模式 | prod |
exposeSSH | 是否使SSH服务器可访问 | true |
rootURL | UI根URL(用于链接生成) | "" |
command | 覆盖默认容器命令 | [] |
args | 覆盖默认容器参数 | [] |
updateStrategy.type | 更新策略 | RollingUpdate |
priorityClassName | Gitea pods的priorityClassName | "" |
schedulerName | k8s调度器名称(非默认) | "" |
topologySpreadConstraints | 用于pod分配的拓扑扩展约束 | [] |
automountServiceAccountToken | 在pod中挂载服务账户令牌 | false |
hostAliases | 添加部署主机别名 | [] |
extraEnvVars | 额外环境变量 | [] |
extraEnvVarsCM | 包含额外环境变量的ConfigMap | "" |
extraEnvVarsSecret | 包含额外环境变量的Secret | "" |
extraVolumes | 要添加到部署的额外卷数组 | [] |
extraVolumeMounts | 要添加到容器的额外卷挂载数组 | [] |
initContainers | 添加到pod的额外初始化容器 | [] |
pdb.create | 启用/禁用PodDisruptionBudget创建 | true |
pdb.minAvailable | 应保持调度的最小pod数量/百分比 | "" |
pdb.maxUnavailable | 可能不可用的最大pod数量/百分比 | "" |
sidecars | 附加到pod的额外容器 | [] |
tolerations | pod分配的容忍度 | [] |
Bitnami图表允许为图表部署内的所有容器设置资源请求和限制。这些设置位于resources值内(参见参数表)。设置请求对于生产工作负载至关重要,应根据具体用例进行调整。
为简化此过程,图表包含resourcesPreset值,可根据不同预设自动设置resources部分。但在生产工作负载中,不建议使用resourcesPreset,因为它可能无法完全适应您的特定需求。
Bitnami Gitea镜像将Gitea数据和配置存储在容器的/bitnami/gitea路径下。
持久卷声明用于跨部署保留数据。这在GCE、AWS和minikube上已测试可行。
consolehelm install my-release --set persistence.existingClaim=PVC_NAME oci://REGISTRY_NAME/REPOSITORY_NAME/gitea
指定的hostPath目录必须已存在(如果不存在,请创建一个)。
安装图表:
consolehelm install my-release --set persistence.hostPath=/PATH/TO/HOST/MOUNT oci://REGISTRY_NAME/REPOSITORY_NAME/gitea
由于容器无法控制主机的目录权限,您必须自己设置Gitea文件目录权限。
如果将image值配置为私有仓库中的镜像,您需要指定镜像拉取密钥:
yamlimagePullSecrets: - name: SECRET_NAME
Bitnami图表在首次启动时配置凭据。后续对密钥或凭据的任何更改都需要手动干预:
shellkubectl create secret generic SECRET_NAME --from-literal=admin-password=PASSWORD --from-literal=smtp-password=SMTP_PASSWORD --dry-run -o yaml | kubectl apply -f -
此图表允许使用affinity参数设置自定义亲和性。作为替代方案,您可以使用bitnami/common图表中提供的预设配置。
要在Kubernetes上备份和恢复Helm图表部署,您需要备份源部署的持久卷,并使用Velero(Kubernetes备份/恢复工具)将它们附加到新部署。
自2025年8月28日起,Bitnami将改进其公共目录,在新的Bitnami Secure Images计划下提供精选的强化、安全聚焦的镜像。作为此过渡的一部分:
完整README可在[***]

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务