用 Gitea 在本機架 Git Server 功能

閱讀時間約 8 分鐘

本篇要解決的問題

去年有寫過一篇〈用 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
嗯……不到 1 分鐘,喔不,不能教會貓咪握手了~~
打開 Docker Desktop,Containers 裡會看到新增了一個「gitea」:
新增 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
不到 5 秒。
Docker 會刪除用到的 Containers、Images,但,but,西卡西,Volumes 是不會刪除的,記得到 Volumes 裡刪掉「gitea_gitea_db」。
最後的最後,補一個彩蛋,是 Docker 的擴充功能,可以清掉安裝或沒清乾淨的快取:Disk usage
安裝好後點開選單上的 Disk usage,就會看到可以清理的東西:
Disk usage
點擊「Reclaim space」,選擇要刪掉的東西,就可以完整刪除,是不是很簡單很方便?
avatar-img
9會員
19內容數
沙龍到底是…做什麼用的勒?
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Let's Write 的沙龍 的其他內容
深入了解使用 Cookie 實現客戶端數據存儲的技巧和最佳實踐。本文詳細解釋了 Cookie 的基本概念、限制、原生寫法,並推薦了一個實用的 JavaScript Cookie 套件,附帶實用 Demo 和原始碼。
探討如何免費建立自己的網站,結合 WordPress 和 Cloudflare Pages。文章涵蓋從本機安裝 WordPress、產出靜態檔案,到將檔案部署到 Cloudflare Pages 的完整流程,並探討其優點和缺點。
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
探索 Google Sheets API 在 Google Apps Script 上的實用操作和技巧。本文詳細解釋了試算表和工作表的操作、好用函式和原始碼分享,是想要深入了解 Google Sheets API 應用的理想指南。
探索如何在 VS Code 中養一隻療癒的小寵物。本文將指導你安裝和使用 vscode-pets 擴充功能,讓可愛的寵物陪伴你一同寫程式。你可以選擇不同類型和顏色的寵物,甚至改變它們的遊玩場景,為你的編程時光增添樂趣和舒適。
2023 年 3 月第 3 週:OpenAI GPT-4 降臨。微軟推出 Microsoft 365 Copilot,Office AI 助手。FBI 首長:中國可透過 TikTok 控制數據 影響對台論述。IG 業配行情及技巧。
深入了解使用 Cookie 實現客戶端數據存儲的技巧和最佳實踐。本文詳細解釋了 Cookie 的基本概念、限制、原生寫法,並推薦了一個實用的 JavaScript Cookie 套件,附帶實用 Demo 和原始碼。
探討如何免費建立自己的網站,結合 WordPress 和 Cloudflare Pages。文章涵蓋從本機安裝 WordPress、產出靜態檔案,到將檔案部署到 Cloudflare Pages 的完整流程,並探討其優點和缺點。
探索如何使用 OneDev 在本機快速架設 Git Server。本文詳細介紹了安裝 OneDev 和 Docker 的步驟,並提供了實用的圖片和說明,幫助你輕鬆在本機建立和管理 Git Server。
探索 Google Sheets API 在 Google Apps Script 上的實用操作和技巧。本文詳細解釋了試算表和工作表的操作、好用函式和原始碼分享,是想要深入了解 Google Sheets API 應用的理想指南。
探索如何在 VS Code 中養一隻療癒的小寵物。本文將指導你安裝和使用 vscode-pets 擴充功能,讓可愛的寵物陪伴你一同寫程式。你可以選擇不同類型和顏色的寵物,甚至改變它們的遊玩場景,為你的編程時光增添樂趣和舒適。
2023 年 3 月第 3 週:OpenAI GPT-4 降臨。微軟推出 Microsoft 365 Copilot,Office AI 助手。FBI 首長:中國可透過 TikTok 控制數據 影響對台論述。IG 業配行情及技巧。
你可能也想看
Google News 追蹤
Windows : 下載Git (git-scm.com)並按照指示安裝。 安裝完成後,你可以通過運行以下命令來確認安裝是否成功: git --version 初次設定GIT 接下來就是按照初次設定git,會需要配置你的用戶名和電子郵件地址,這些信息將被記錄在您提交的每個變更中。 git
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
Docker是由GO語言實現,是一個在GitHub上開發原始碼的專案。它的目標是實現羽量級的作業系統虛擬化。讓使用者操作Docker,就像是操作一個羽量級的虛擬機器。 優勢 快速發表和部署 高效的部署和擴充 資源使用率高 管理簡單 核心 Image映像檔 Docker
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Docker是一種容器化技術,可以將應用程式及相關依賴項目打包到一個容器中。這篇文章介紹了安裝Docker的步驟,以及幾個比較偏向使用者的應用程式。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 上次我們講到 Docker 的功用與好處,今天我們要在講解,如何安裝 Docker 這個容器,讓我們在之後的教學應用更好的實作與練習,現在讓我們開始吧 Docker Engine 與 Docker Desktop 首先在講解怎麼安裝 Docker 時,我們先講解 Docker Engin
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇
Windows : 下載Git (git-scm.com)並按照指示安裝。 安裝完成後,你可以通過運行以下命令來確認安裝是否成功: git --version 初次設定GIT 接下來就是按照初次設定git,會需要配置你的用戶名和電子郵件地址,這些信息將被記錄在您提交的每個變更中。 git
Thumbnail
Docker-Compose負責對container做快速編排。設定檔預設名稱為docker-compose.yml,在檔案中,可以透過COMPOSE_FILE或-f對設定進行定義。 想要將專案透過Docker-Compose部署,需要創建docker-compose.yml和Dockerfile
Thumbnail
Docker是由GO語言實現,是一個在GitHub上開發原始碼的專案。它的目標是實現羽量級的作業系統虛擬化。讓使用者操作Docker,就像是操作一個羽量級的虛擬機器。 優勢 快速發表和部署 高效的部署和擴充 資源使用率高 管理簡單 核心 Image映像檔 Docker
Thumbnail
本文將介紹如何在Gitlab上部署和註冊runner,以進行CI/CD測試。透過Docker-compose方式進行部署,同時注意安裝時的一些注意事項。建議學習者至少掌握一種以上的Pipeline工具,以滿足實務上的需求。
Docker是一種容器化技術,可以將應用程式及相關依賴項目打包到一個容器中。這篇文章介紹了安裝Docker的步驟,以及幾個比較偏向使用者的應用程式。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
前言 大家好在先前我們講了什麼是 Docker,Docker 好處有什麼以及怎麼安裝 Docker,今天我們要來開始初體驗 Docker 容器,使用後您會發現 Docker 非常的方便快速 Docker Hub 介紹 首先在開始學怎麼抓取 Docker Image 之前,我們要先來介紹 Doc
Thumbnail
前言 上次我們講到 Docker 的功用與好處,今天我們要在講解,如何安裝 Docker 這個容器,讓我們在之後的教學應用更好的實作與練習,現在讓我們開始吧 Docker Engine 與 Docker Desktop 首先在講解怎麼安裝 Docker 時,我們先講解 Docker Engin
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
前言 大家好我們今天要來教 Docker 這項技術,什麼是 Docker ? Docker 可以幫助我們做什麼事情 ? Docker 是一項容器化技術,他可以降低我們在佈署 App 時,讓我們可以有效的分配作業系統資源,降低佈署作業成本,現在讓我們來了解 Docker 要解決的問題 傳統佈署遇