用 Gitea 在本機架 Git Server 功能

更新於 發佈於 閱讀時間約 9 分鐘

本篇要解決的問題

去年有寫過一篇〈用 OneDev 在本機架 Git Server 功能〉,不過 OneDev 的介面都是英文的,如果要公司同事之間可以互相使用,能有中文會比較方便。加上一般我們習慣用 GitHub 介面的話,用 OneDev 會覺得差異很大。

所以,前幾天 August 花了一個晚上爬文,找到了 Gitea 這套,有中文介面,介面也比較像熟悉的 GitHub 或 GitLab,而且用 Docker 安裝在本機也很快(實測還可以裝在 NAS 上)。


安裝 Docker

Gitea 提供的安裝方式有蠻多種的:

但最快的還是 Docker 安裝,因為 docker-compose.yml 的內容官方文件都提供了,之後複製貼上改一改就行。

安裝 Docker 也很簡單,從 Docker 官方網站 下載 Docker Desktop,然後就一路無腦點擊下一步。

不過,如果是用 Windows 的朋友,安裝完後可能會遇到開不起來的問題,直接 Google「docker bios 設定」就會找到蠻多解法,August 後來是用重開機進到 BIOS 去設定解決的。


安裝 Gitea 的 dokcer-compose.yml

就跟安裝 OneDev 一樣簡單,只是這次我們有 docker-compose.yml 檔了,就不用下看起來落落長的指令。

先進到官方用 Docker 的說明文件:With Docker

文件裡有提供幾段 docker-compose.yml 的內容,主要差別在資料庫要用 MySQL 還是 PostgreSQL。

因為前陣子在裝 Wiki.js 時,那邊的文件一直推薦 PostgreSQL,說又快又好還是什麼的,所以以下提供的檔案範例,用的資料庫是 PostgreSQL。

先在本機新增一個資料夾,因為資料夾名稱會是 Docker 上 Container 的名稱,所以取一個認得出是在 Gitea 用的,想不到取什麼的話就直接取「Gitea」就好。

接著在資料夾中新增檔案,檔名叫「docker-compoese.yml」。

以下是 August 整理了 Gitea 文件的範例,最後在本機安裝時有啟用成功的 docker-compose.yml 檔內容。

version: "3"

networks:
gitea:
external: false

volumes:
gitea_db:
driver: local

services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- gitea_db:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "13000:3000" # 13000 改成你們要的 port
- "10022:22" # 10022 改成你們要的 port
depends_on:
- db

db:
image: postgres:latest
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
networks:
- gitea
volumes:
- ./postgres:/var/lib/postgresql/data

大家 Copy 完這個內容貼到你們的 docker-compose.yml 檔後,有幾個地方會需要修改。

看到 USER、PASSWORD 的字眼,就是在設定帳密,因為這邊 Gitea 用的是 PostgresSQL 資料庫,所以一邊改了,另一邊也要跟著改。

以下二行,實測裝在 NAS 等主機時可能會報錯,可以刪掉:

- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro

以下二行,請改成你們自己要用的 Port:

- "13000:3000" # 13000 改成你們要的 port
- "10022:22" # 10022 改成你們要的 port

安裝 Gitea 流程

開啟 Docker Desktop,Docker 必須要是 running 的狀態。

用終端機開啟我們剛放了 docker-compose.yml 的資料夾。

輸入指令:

$ docker-compose up -d

按下 Enter 後,就可以去泡杯咖啡或跟家人聊個天,或是去教寵物握手跟坐下,因為第一次安裝,需要的 Images 都要 pull 下來,要等一下,大概花的時間是這樣:

用 docker-compose 安裝 Gitea

用 docker-compose 安裝 Gitea

嗯……不到 1 分鐘,喔不,不能教會貓咪握手了~~

打開 Docker Desktop,Containers 裡會看到新增了一個「gitea」:

新增 gitea container

新增 gitea container

gitea 裡面的 gitea,在 Port(s) 裡會出現我們設定的 Port 連結,點擊後面是 3000 的,就會看到最後的設定畫面:

最後的安裝步驟

最後的安裝步驟

這邊就是設定資料庫跟 Gitea 的基本訊息。

資料庫的部份不用動,因為我們在 docker-compose.yml 上都寫好了。

可選設定建議「管理員帳戶設定」的部份先把管理員帳號設定好,不設的話就會是第一個註冊的人是管理員。

最後按下「安裝 Gitea」,就會看到一個喝茶畫面:

喝茶安裝中

喝茶安裝中

茶喝完後,就安裝好了,因為 August 有先設定管理員帳號,所以安裝完成會自動登入:

安裝完成

安裝完成

鏘鏘~這樣就安裝完成了,是不是很簡單?

預設開啟的網址會是 localhost,如果是安裝好要跟其它同事共用,同區網下把 localhost 改成本機的 IP 就行。


刪除跟彩蛋

最後補一段怎麼刪除我們剛用 Docker 安裝的 Gitea。

一樣用終端機開啟我們 Gitea 的資料夾,命令為:

$ docker-compose down

按下 Enter 後……你沒時間去泡咖啡的,因為刪除比安裝還快:

刪除 Gitea

刪除 Gitea

不到 5 秒。

Docker 會刪除用到的 Containers、Images,但,but,西卡西,Volumes 是不會刪除的,記得到 Volumes 裡刪掉「gitea_gitea_db」。

最後的最後,補一個彩蛋,是 Docker 的擴充功能,可以清掉安裝或沒清乾淨的快取:Disk usage

安裝好後點開選單上的 Disk usage,就會看到可以清理的東西:

Disk usage

Disk usage

點擊「Reclaim space」,選擇要刪掉的東西,就可以完整刪除,是不是很簡單很方便?

留言
avatar-img
留言分享你的想法!
avatar-img
Let's Write 的沙龍
9會員
19內容數
沙龍到底是…做什麼用的勒?
Let's Write 的沙龍的其他內容
2024/08/24
了解如何在 GitLab 中設置和使用 CodiumAI PR-Agent 進行 AI Code Review,自動檢查和改進程式碼。本文提供詳細步驟,包括環境設置、提交必要檔案,以及如何使用 OpenAI API Key 進行配置。
Thumbnail
2024/08/24
了解如何在 GitLab 中設置和使用 CodiumAI PR-Agent 進行 AI Code Review,自動檢查和改進程式碼。本文提供詳細步驟,包括環境設置、提交必要檔案,以及如何使用 OpenAI API Key 進行配置。
Thumbnail
2024/08/07
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
2024/08/07
了解如何使用 Cloudflare Workers AI 與 Whisper 建立免費開源的語音辨識功能。本文詳細說明註冊步驟、部署流程及程式碼修改,讓你輕鬆將語音轉換成文字。
Thumbnail
2024/06/05
學習如何使用 Tensorflow.js 的 COCO-SSD 模型在網頁上進行圖片物件辨識,包括基本使用方法、進階應用及實作範例,輕鬆辨識圖片中的人數和物件。
Thumbnail
2024/06/05
學習如何使用 Tensorflow.js 的 COCO-SSD 模型在網頁上進行圖片物件辨識,包括基本使用方法、進階應用及實作範例,輕鬆辨識圖片中的人數和物件。
Thumbnail
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
前言 大家好上次我們教了 Gitlab CI/CD 的 extends 如何使用,今天我們要來實際做一個真正佈署上線我們的服務,我們會分成兩個章節,第一部分先教大家怎麼寫 Docker Compose 佈署計畫書,第二部分教大家撰寫 CI/CD 自動化佈署流程計劃書 什麼是 Docker Com
Thumbnail
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
Thumbnail
前言 上次我們講到 Gitlab 的 Excutor 種類,今天我們要來教更經典的自架 Gitlab 與 Gitlab-Runner 主機,Gitlab 有兩個版本,一個是社群版,另一個是企業版,我們這次用 Docker 來安裝 Gitlab 社群版,快速安裝完成 Gitlab,另一方面這樣子的話
Thumbnail
Docker不僅僅改變了應用的部署方式,它還提供了一種封裝、分發和運行應用的統一方法。這篇文章將引導你完成Gin應用的容器化過程。
Thumbnail
Docker不僅僅改變了應用的部署方式,它還提供了一種封裝、分發和運行應用的統一方法。這篇文章將引導你完成Gin應用的容器化過程。
Thumbnail
在 Docker 上自建 GitLab Server 是一種方便且有效的方式來託管和管理您的程式碼。使用 Docker,您可以快速建立一個 GitLab 伺服器並且輕鬆進行配置和擴展。
Thumbnail
在 Docker 上自建 GitLab Server 是一種方便且有效的方式來託管和管理您的程式碼。使用 Docker,您可以快速建立一個 GitLab 伺服器並且輕鬆進行配置和擴展。
Thumbnail
這篇文章教你如何在本機使用 Gitea 架設 Git Server。內容涵蓋了安裝 Docker、設定和安裝 Gitea 的 dokcer-compose.yml、Gitea 的安裝流程,以及如何刪除安裝的 Gitea。文章也包含了一個 Docker 的彩蛋,教你如何清理安裝或未清理的緩存。
Thumbnail
這篇文章教你如何在本機使用 Gitea 架設 Git Server。內容涵蓋了安裝 Docker、設定和安裝 Gitea 的 dokcer-compose.yml、Gitea 的安裝流程,以及如何刪除安裝的 Gitea。文章也包含了一個 Docker 的彩蛋,教你如何清理安裝或未清理的緩存。
Thumbnail
GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜
Thumbnail
GitLab不僅是一個源代碼管理工具,它還提供了一個統一的平台,將開發、運營和安全等流程整合在一起。通過GitLab,可以在單一的應用程序中進行專案計劃、源代碼管理、分支控制、CI/CD等操作。不論角色為何,GitLab提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News