Skip to content

wanx server 2 —— gitea

sh
mkdir -p /opt/gitea

cd /opt/gitea

mkdir postgres gitea gitea-config
sh
vim .env
POSTGRES_DB=gitea
POSTGRES_USER=gitea
POSTGRES_PASSWORD=sql123123
yml
services:
  gitea-db:
    image: postgres:17-alpine
    container_name: gitea-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: ${POSTGRES_DB}
      POSTGRES_USER: ${POSTGRES_USER}
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - ./postgres:/var/lib/postgresql/data
    networks:
      - gitea-network

  gitea:
    image: docker.gitea.com/gitea:1.26-rootless
    container_name: gitea
    restart: unless-stopped
    depends_on:
      - gitea-db
    environment:
      USER_UID: 1000
      USER_GID: 1000

      GITEA__database__DB_TYPE: postgres
      GITEA__database__HOST: gitea-db:5432
      GITEA__database__NAME: ${POSTGRES_DB}
      GITEA__database__USER: ${POSTGRES_USER}
      GITEA__database__PASSWD: ${POSTGRES_PASSWORD}

      GITEA__server__DOMAIN: git.local.q123q.cc
      GITEA__server__ROOT_URL: http://git.local.q123q.cc/
      GITEA__server__SSH_DOMAIN: git.local.q123q.cc
      GITEA__server__SSH_PORT: 2222
      GITEA__server__START_SSH_SERVER: true

      GITEA__webhook__ALLOWED_HOST_LIST: "ci.local.q123q.cc,git.local.q123q.cc,192.168.1.9"
      GITEA__actions__ENABLED: false
    volumes:
      - ./gitea:/var/lib/gitea
      - ./gitea-config:/etc/gitea
    ports:
      - "2222:2222"
    networks:
      - traefik-network
      - gitea-network
 
networks:
  gitea-network:
    external: true
  traefik-network:
    external: true

如果有域名

GITEA__server__DOMAIN: local.q123q.cc
GITEA__server__ROOT_URL: https://local.q123q.cc/
GITEA__server__SSH_DOMAIN: local.q123q.cc
GITEA__server__SSH_PORT: 2222

GITEA__server__DOMAIN:Gitea 对外域名。Gitea 需要知道自己是谁,决定 邮件链接、Webhook、Clone URL、OAuth 等

GITEA__server__ROOT_URL:用户最终访问的地址,非常重要,决定 仓库地址、头像、js 等地址

GITEA__server__SSH_DOMAIN:专门用于 ssh clone