标签 环境搭建 下的文章

教程 | Gogs首页等页面修改


需求

这边gogs的环境搭完了,但是说实话瞅着默认页面有点难受,并不细化它的格局,需要修改修改。本身是通过docker搭建的环境,并且已经在本地磁盘挂载了对应的/data目录。直接加文件就能修改。

data目录结构

data
├─ git
│  ├─ .ssh
│  ├─ repositories
│  └─ .gitignore
├─ gogs
│  ├─ conf
│  ├─ data
│  └─ log
└─ ssh

修改首页

在/data/gogs创建templates文件夹,在里面创建home.tmpl,将github项目中gogs/templates/home.tmpl的内容拷贝进去。

{{template "base/head" .}}
<div class="home">
    <div class="ui stackable middle very relaxed page grid">
        <div class="sixteen wide center aligned centered column">
            <div class="logo">
                <img src="{{AppSubURL}}/img/gogs-hero.png" />
            </div>
            <div class="hero">
                <h2>{{.i18n.Tr "app_desc"}}</h2>
            </div>
        </div>
    </div>
    {{if eq .Lang "de-DE"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Einfach zu installieren
                </h1>
                <p class="large">
                    Starte einfach <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">die Anwendung</a> für deine Plattform. Gogs gibt es auch für <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a>, <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a> oder als <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">Installationspaket</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Plattformübergreifend
                </h1>
                <p class="large">
                    Gogs läuft überall. <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> kompiliert für: Windows, macOS, Linux, ARM, etc. Wähle dasjenige System, was dir am meisten gefällt!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Leichtgewicht
                </h1>
                <p class="large">
                    Gogs hat minimale Systemanforderungen und kann selbst auf einem günstigen und stromsparenden Raspberry Pi betrieben werden.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Quelloffen
                </h1>
                <p class="large">
                    Der komplette Code befindet sich auf <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Unterstütze uns bei der Verbesserung dieses Projekts. Trau dich!
                </p>
            </div>
        </div>
    {{else if eq .Lang "zh-CN"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> 易安装
                </h1>
                <p class="large">
                    您除了可以根据操作系统平台通过 <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">二进制运行</a>,还可以通过 <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> 或 <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>,以及 <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">包管理</a> 安装。
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> 跨平台
                </h1>
                <p class="large">
                    任何 <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go 语言</a> 支持的平台都可以运行 Gogs,包括 Windows、Mac、Linux 以及 ARM。挑一个您喜欢的就行!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> 轻量级
                </h1>
                <p class="large">
                    一个廉价的树莓派的配置足以满足 Gogs 的最低系统硬件要求。最大程度上节省您的服务器资源!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> 开源化
                </h1>
                <p class="large">
                    所有的代码都开源在 <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a> 上,赶快加入我们来共同发展这个伟大的项目!还等什么?成为贡献者吧!
                </p>
            </div>
        </div>
    {{else if eq .Lang "fr-FR"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Facile à installer
                </h1>
                <p class="large">
                    Il suffit de <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">lancer l'exécutable</a> correspondant à votre système.
                    Ou d'utiliser Gogs avec <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> ou
                    <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>
                    ou en l'installant depuis un <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">package</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Multi-plateforme
                </h1>
                <p class="large">
                    Gogs tourne partout où <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> peut être compilé : Windows, macOS, Linux, ARM, etc. Choisissez votre préféré !
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Léger
                </h1>
                <p class="large">
                    Gogs utilise peu de ressources. Il peut même tourner sur un Raspberry Pi très bon marché. Économisez l'énergie de vos serveurs !
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Open Source
                </h1>
                <p class="large">
                    Toutes les sources sont sur <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a> ! Rejoignez-nous et contribuez à rendre ce projet encore meilleur.
                </p>
            </div>
        </div>
    {{else if eq .Lang "es-ES"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Fácil de instalar
                </h1>
                <p class="large">
                    Simplemente <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">arranca el binario</a> para tu plataforma. O usa Gogs con <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> o <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, o utilice el <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">paquete</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Multiplatforma
                </h1>
                <p class="large">
                    Gogs funciona en cualquier parte, <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> puede compilarse en: Windows, macOS, Linux, ARM, etc. !Elige tu favorita!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Ligero
                </h1>
                <p class="large">
                    Gogs tiene pocos requisitos y puede funcionar en una Raspberry Pi barata. !Ahorra energía!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Open Source
                </h1>
                <p class="large">
                    ¡Está todo en <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Uniros contribuyendo a hacer este proyecto todavía mejor. ¡No seas tímido y colabora!
                </p>
            </div>
        </div>
    {{else if eq .Lang "pt-BR"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Fácil de instalar
                </h1>
                <p class="large">
                    Simplesmente <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">rode o executável</a> para o seu sistema operacional. Ou obtenha o Gogs com o <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> ou <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, ou baixe o <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">pacote</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Multi-plataforma
                </h1>
                <p class="large">
                    Gogs roda em qualquer sistema operacional em que <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> consegue compilar: Windows, macOS, Linux, ARM, etc. Escolha qual você gosta mais!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Leve e rápido
                </h1>
                <p class="large">
                    Gogs utiliza poucos recursos e consegue mesmo rodar no barato Raspberry Pi. Economize energia elétrica da sua máquina!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Código aberto
                </h1>
                <p class="large">
                    Está tudo no <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Contribua e torne este projeto ainda melhor. Não tenha vergonha de contribuir!
                </p>
            </div>
        </div>
    {{else if eq .Lang "ru-RU"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Простой в установке
                </h1>
                <p class="large">
                    Просто <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">запустите исполняемый файл</a> для вашей платформы. Используйте Gogs с <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> или <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, или загрузите <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">пакет</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Кроссплатформенный
                </h1>
                <p class="large">
                    Gogs работает на любой операционной системе, которая может компилировать <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM и т. д. Выбирайте, что вам больше нравится!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Легковесный
                </h1>
                <p class="large">
                    Gogs имеет низкие системные требования и может работать на недорогом Raspberry Pi. Экономьте энергию вашей машины!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Открытый исходный код
                </h1>
                <p class="large">
                    Всё это на <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Присоединяйтесь к нам, внося вклад, чтобы сделать этот проект еще лучше. Не бойтесь помогать!
                </p>
            </div>
        </div>
    {{else if eq .Lang "uk-UA"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Простий у втановленні
                </h1>
                <p class="large">
                    Просто <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">запустіть виконуваний файл</a> для вашої платформи. Використовуйте Gogs с <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> або <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, або завантажте <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">пакет</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Кросплатформність
                </h1>
                <p class="large">
                    Gogs працює у будь-якій операційній системі, що може компілювати <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a>: Windows, macOS, Linux, ARM і т. д. Обирайте що вам більше до вподоби!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Легковісний
                </h1>
                <p class="large">
                    Gogs має низькі системні вимоги та може працювати на недорогому Raspberry Pi. Економте енергію вашої машини!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Відкритий сирцевий код
                </h1>
                <p class="large">
                    Все це у <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Приєднуйтеся до нас, робіть внесок, щоб зробити цей проект ще краще. Не бійтеся допомагати!
                </p>
            </div>
        </div>
    {{else if eq .Lang "it-IT"}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Facie da installare
                </h1>
                <p class="large">
                    Basta <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">avviare il binario</a> per la tua piattaforma.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Multipiattaforma
                </h1>
                <p class="large">
                    Gogs funziona ovunque, <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> si può compilare su: Windows, macOS, Linux, ARM, etc. Scegli il tuo preferito!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Leggero
                </h1>
                <p class="large">
                    Gogs ha requisiti bassi e può funzionare su un Raspberry Pi economico. Risparmiare energia!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Open Source
                </h1>
                <p class="large">
                    Sta tutto su <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! È tutto su GitHub! Unisciti a noi contribuendo a rendere questo progetto ancora miglior$
                </p>
            </div>
        </div>
    {{else}}
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-flame"></i> Easy to install
                </h1>
                <p class="large">
                    Simply <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_binary.html">run the binary</a> for your platform. Or ship Gogs with <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogs/gogs/tree/main/docker">Docker</a> or <a target="_blank" rel="noopener noreferrer" href="https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs">Vagrant</a>, or get it <a target="_blank" rel="noopener noreferrer" href="https://gogs.io/docs/installation/install_from_packages.html">packaged</a>.
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-device-desktop"></i> Cross-platform
                </h1>
                <p class="large">
                    Gogs runs anywhere <a target="_blank" rel="noopener noreferrer" href="http://golang.org/">Go</a> can compile for: Windows, macOS, Linux, ARM, etc. Choose the one you love!
                </p>
            </div>
        </div>
        <div class="ui stackable middle very relaxed page grid">
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-rocket"></i> Lightweight
                </h1>
                <p class="large">
                    Gogs has low minimal requirements and can run on an inexpensive Raspberry Pi. Save your machine energy!
                </p>
            </div>
            <div class="eight wide center column">
                <h1 class="hero ui icon header">
                    <i class="octicon octicon-code"></i> Open Source
                </h1>
                <p class="large">
                    It's all on <a target="_blank" rel="noopener noreferrer" href="https://github.com/gogits/gogs/">GitHub</a>! Join us by contributing to make this project even better. Don't be shy to be a contributor!
                </p>
            </div>
        </div>
    {{end}}
</div>
{{template "base/footer" .}}

根据需求修改这个home.tmpl,然后重启容器(docker restart 容器名称)。

修改静态文件

在/data/gogs创建public文件夹,在里面创建css、js等文件,这里不需要重启容器。

这里通过保存自定义图标到 /data/gogs/public/img/favicon.png 实现站点图标的重载。静态文件的路径要在/data/gogs/templates中的模板中有定义, 其中{{AppSubURL}}对应的就是/data/gogs/public。

结果

屏幕截图 2023-10-03 104238.jpg


教程 | Gogs-一款极易搭建的自助 Git 服务


需求

自己需要一个git服务,gitlab有点大,小小的树莓派带不动啊。选择一个极简的git服务来管理。这里用docker来安装服务。

composer处理基础环境

version: '3.6'
services:
  postgres-gogs:
    container_name: gogs_database
    image: postgres:9.6
    restart: always
    volumes:
      - "/mnt/data/gitGogs/postgres:/var/lib/postgresql/data" # 挂载数据库文件目录
    environment:
      POSTGRES_USER: gogs
      POSTGRES_PASSWORD: yak_gogs
      POSTGRES_DB: gogs
    networks:
      - "net_gogs"
  gogs:
    container_name: gogs
    image: gogs/gogs
    restart: always
    ports:
      - "9822:22" # 暴漏ssh端口
      - "9880:3000" # 暴漏web端口
    volumes:
      - "/mnt/data/gitGogs/data:/data" # 挂载数据目录
    depends_on:
      - "postgres-gogs"
    networks:
      - "net_gogs"
networks:
  net_gogs:

安装

访问http://IP:9880
首次进入自动跳转安装界面填写对应信息,数据库这里选择postgres,在填写对应的管理员信息。立即安装即可。

成果

屏幕截图 2023-10-03 100428.jpg