Files
homelab/gitea/compose.yml
T

68 lines
2.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
db:
image: postgres:15
restart: always
env_file: ../.env
volumes:
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
- ./db_data:/var/lib/postgresql/data
networks:
- homelab_net
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: unless-stopped
env_file: ../.env
environment:
USER_UID: 964
USER_GID: 964
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: db:5432
GITEA__database__NAME: giteadb
GITEA__database__USER: gitea
GITEA__server__SSH_PORT: 22
GITEA__server__SSH_LISTEN_PORT: 22
GITEA__server__SSH_DOMAIN: git.xiteng.site
volumes:
- ./data:/data
# 保留 SSH 端口以便通过 SSH 推送代码(可选),移除 HTTP 宿主端口,由 Traefik 暴露
ports:
- "3004:3000"
labels:
# --- 1. Traefik 路由设置 ---
- "traefik.enable=true"
- "traefik.http.routers.gitea.rule=Host(`gitea.xiteng.site`)"
- "traefik.http.services.gitea.loadbalancer.server.port=3000"
- "traefik.http.routers.gitea.entrypoints=websecure"
# --- HTTP 入口(来自 cloudflared tunnel---
- "traefik.http.routers.gitea-http.rule=Host(`gitea.xiteng.site`)"
- "traefik.http.routers.gitea-http.service=gitea"
- "traefik.http.routers.gitea-http.entrypoints=web"
# --- 开启 TLS 并指定解析器 ---
- "traefik.http.routers.gitea.tls=true"
- "traefik.http.routers.gitea.tls.certresolver=cfresolver"
# TCP Config (SSH)
- "traefik.tcp.routers.gitea-ssh.rule=HostSNI(`*`)" # SNI must be * for SSH
- "traefik.tcp.routers.gitea-ssh.entrypoints=ssh"
- "traefik.tcp.services.gitea-ssh.loadbalancer.server.port=22"
# --- 2. Homepage 自动发现设置 ---
- "homepage.group=我的服务" # 分组名称
- "homepage.name=Gitea" # 显示名称
- "homepage.icon=gitea" # 图标 (支持 si, mdi 等前缀)
- "homepage.href=https://gitea.xiteng.site" # 点击跳转的链接
- "homepage.description=代码托管平台" # 副标题描述
# --- 3. AutoKuma 自动发现设置 ---
# 格式: kuma.<自定义ID>.<监控类型>.<属性>
- "kuma.gitea.http.name=Gitea" # 监控项名称
- "kuma.gitea.http.url=http://gitea:3000" # 内网直连
# (可选) 每 60 秒检查一次,重试 3 次
- "kuma.gitea.http.interval=60"
- "kuma.gitea.http.max_retries=3"
networks:
- homelab_net
networks:
homelab_net:
external: true