首页 > 其他分享 >Docker部署Gitea,以及自定义 Gitea 页面

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

时间:2024-03-01 12:55:06浏览次数:17  
标签:__ Gitea 自定义 gitea git home Docker

首先要先在你的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 [email protected] "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页面,这时就会发现顶部多了一个自定义的链接

标签:__,Gitea,自定义,gitea,git,home,Docker
From: https://www.cnblogs.com/boringblog/p/18046738

相关文章

  • 一文看清楚流程自定义表单究竟好不好用
    提升办公协作效率、做好数据资源利用率的话,可以用什么样的软件实现?在低代码技术平台领域奋斗多年,流辰信息服务商可以给大家推荐专用的流程自定义表单及低代码技术平台整套服务方案。如果你想知道流程自定义表单好不好用,有什么功能和特点,那就跟着小编的思路一起来找寻答案吧。先......
  • Docker部署.NET Core
    一、安装与配置Docker1、首先安装Docker必要依赖包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm22、由于自带yum没有Docker-CE所以我们需要先增加dockerrepoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce......
  • docker容器虚拟化与传统虚拟机比较
    容器就是将软件打包成标准化单元,以用于开发,交付和部署1.容器镜像是轻量的,可以执行的独立软件包,包含软件运行所需要的所有内容:代码,运行时环境,系统工具,系统库和设置。2.容器化软件在任何环境中都能够始终如一地运行3.容器赋予了软件独立性,使其免受外在环境差异的影响,从而有助于减......
  • 从零开始写 Docker(三)---基于 cgroups 实现资源限制
    本文为从零开始写Docker系列第三篇,在mydockerrun基础上基于cgroups实现容器的资源限制。完整代码见:https://github.com/lixd/mydocker欢迎Star如果你对云原生技术充满好奇,想要深入了解更多相关的文章和资讯,欢迎关注微信公众号。搜索公众号【探索云原生】即可订阅......
  • ubuntu使用-ubuntu22.04添加自定义的程序到Favorites中
    ubuntu使用-ubuntu22.04添加自定义的程序到Favorites中ubuntu系统设置一、问题描述在ubuntu中使用storywriter,下载是一个压缩包,解压之后双击对应的程序就可以打开使用了。但是问题是,每次使用的时候都要到那个文件夹下面去双击,比较麻烦。想把这个程序添加到Favorites中,这样每次......
  • docker & docker-compose使用汇总
    安装docker/docker-compose 1.直接在docker网站上下载dmg安装包安装 2.命令行安装 sudopipinstall-Udocker-compose 卸载docker/docker-compose1.直接卸载安装包2.命令行卸载 查看docker/docker-compose是否安装成功docker--versiondocker-compose --versi......
  • linux 使用docker 管理应用(gitlab,)
    配置gitlab  10080端口貌似被禁用的具体细节不清楚但是配置访问不了端口从2万开始磁盘空间不足无法正常启动 需要配置足够的磁盘空间配置环境变量 GITLAB_HOME下载并启动容器sudodockerrun--detach--hostnamegitlab.example.com--publish10443:443--publ......
  • Vue CLI 系列之(十一)组件自定义事件
    组件自定义事件区别于js内置事件,内置事件是给html元素用的,而自定义事件是给组件用的1.给组件实例对象绑定自定义事件给组件绑定自定义事件v-on:自定义事件名="回调函数"比如:<Studentv-on:atguigu="demo"/>上面代码的含义为:由于v-on是在Student这个组件标签上,所以是给stu......
  • Vue 2x 系列之(十七)自定义指令
    自定义指令从某种程度上来说,Vue中的自定义指令就是把原生DOM操作进行了一次封装指令是不能脱离元素【标签】存在的定义指令:big使用指令:v-big值的写法:对象【可以处理一些细节上的问题】和函数定义指令可以通过两种方式,函数式和对象式1.函数式指令名(真实DOM元素[element],......
  • jsp自定义标签
    一、自定义标签的作用自定义标签主要用于移除Jsp页面中的java代码。二、自定义标签开发和使用2.1、自定义标签开发步骤1、编写一个实现Tag接口的Java类(标签处理器类)1packageme.gacl.web.tag;23importjava.io.IOException;45importjavax.servl......