Docker部署Gitea,以及自定义 Gitea 页面

首先要先在你的Linux系统上成功安装Docker和Docker Compose。

开始配置和部署Gitea:

  1. 创建git用户。
sudo useradd -m -s /bin/bash -U -u 1000 git
  1. 配置docker-compose.yml,我这里使用了80端口和MySQL8数据库。
version: "3"

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:1.21.4
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /home/git/.ssh/:/data/git/.ssh
    ports:
      - "80:80"
      - "2222:22"
    depends_on:
      - db
  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql
  1. 创建好所需的文件夹。
mkdir -p ./gitea
mkdir -p ./mysql
  1. 使用Docker Compose启动Gitea服务。
docker-compose up --force-recreate -d
  1. 创建 SSH 密钥对。该密钥对将用于向主机验证主机上的 git 用户。
sudo -u git ssh-keygen -t rsa -b 4096 -C "Gitea Host Key"
  1. 创建一个名为 /usr/local/bin/gitea 的文件(具有可执行权限),负责从主机到容器的 SSH 转发。
ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND=\"$SSH_ORIGINAL_COMMAND\" $0 $@"
  1. 开放防火墙,然后就可以访问你的Gitea服务了。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

自定义 Gitea 页面

官方doc这里写得很模糊,这个功能尝试了很久才弄成功。

  1. 创建文件夹,我的gitea文件夹在/home/gitea
mkdir -p /home/gitea/gitea/gitea/templates/custom
mkdir -p /home/gitea/gitea/gitea/public/assets
  1. 添加自定义链接,修改这个文件/home/gitea/gitea/gitea/templates/custom/extra_links.tmpl,内容如下
<a class="item" href="{{AppSubUrl}}/assets/impressum.html">Impressum</a>
  1. 将自定义的页面文件放在这/home/gitea/gitea/gitea/public/assets/impressum.html
  2. 调整文件所有者并重启服务
chown git:git -R /home/gitea/gitea/gitea
cd /home/gitea
docker-compose restart server
  1. 访问gitea页面,这时就会发现顶部多了一个自定义的链接
posted @ 2024-03-01 12:51  无聊的老猪  阅读(1420)  评论(0编辑  收藏  举报