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 @   无聊的老猪  阅读(2192)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示