Quadlet 配置分享:Gitea
目录
本文属于「quadlet 配置分享」系列,直接贴配置,不讲 Quadlet 基础。入门见 Podman 教程。
Gitea
Gitea 是 Go 写的轻量自托管 Git 服务,资源占用低,支持 OIDC/OAuth2 登录、Webhook、Actions CI/CD。
配置
用 Pod 将 Gitea 和 PostgreSQL 放在同一网络命名空间。
# gitea.pod
[Pod]
PublishPort=3000:3000
PublishPort=2222:22
UserNS=keep-id
[Install]
WantedBy=default.target# gitea.container
[Unit]
Requires=gitea-db.service
After=gitea-db.service
[Container]
Image=docker.io/gitea/gitea:latest-rootless
Pod=gitea.pod
Volume=/path/to/data:/var/lib/gitea
Volume=/path/to/config:/etc/gitea
Volume=/etc/localtime:/etc/localtime:ro
Environment=GITEA__database__DB_TYPE=postgres GITEA__database__HOST=127.0.0.1:5432 GITEA__database__NAME=gitea GITEA__database__USER=gitea GITEA__database__PASSWD=gitea
AutoUpdate=registry
[Service]
Restart=always
[Install]
WantedBy=default.target# gitea-db.container
[Container]
Image=docker.io/library/postgres:18
Pod=gitea.pod
Volume=/path/to/db:/var/lib/postgresql
Environment=POSTGRES_USER=gitea POSTGRES_PASSWORD=gitea POSTGRES_DB=gitea
AutoUpdate=registry
[Service]
Restart=always
[Install]
WantedBy=default.target/path/to/替换为实际路径。- 如果不想暴露 SSH,去掉
PublishPort=2222:22和 Pod 中对应的行。 latest-rootless镜像默认以git用户(UID 1000)运行,SSH 监听 2222,与宿主 SSH 不冲突。
可选:Gitea Runner
如果需要 CI/CD(Actions),加上 Runner。
参考 Rootless Podman 运行 Gitea Runner
启动
- 保存文件到
~/.config/containers/systemd/ systemctl --user daemon-reload- 启动:
systemctl --user start gitea-pod - 【可选】启用自动更新:
systemctl --user enable --now podman-auto-update.timer