用 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 下來,要等一下,大概花的時間是這樣:

raw-image

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

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

raw-image

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

raw-image

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

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

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

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

raw-image

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

raw-image

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

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


刪除跟彩蛋

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

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

$ docker-compose down

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

raw-image

不到 5 秒。

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

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

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

raw-image

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

留言
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
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
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提供了一個統一的資訊來源,讓你輕鬆地管理和追蹤整個開發流程。它消除了工具鏈的複雜
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
簡介 因常會在新機器跑container,藉此紀錄安裝過程,順便寫下腳本安裝懶人包 安裝docker 檢查系統中是否已經安裝了docker 執行:ps -ef |grep docker 如上圖所示,說明系統中並沒有安裝docker 添加docker-ce倉庫 安裝yum倉庫管理工具 配置docker
Thumbnail
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
Thumbnail
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi
Thumbnail
GitLab有分為CE(社區版)與EE(企業收費版)兩個版本,差別在EE有多出一些額外功能需要收費,EE的免費功能其實跟GitLab CE一樣,因此可以直接架設 GitLab EE,也許以後會想用收費功能也說不定。 1. 抓取gitlab image: $ docker pull gitlab/gi
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News