Gogs 是一款極易搭建的自助 Git 服務。html
Gogs 是用 Go 語言開發的,最簡單、最快速和最輕鬆的方式搭建自助 Git 服務。mysql
易安裝git
除了能夠根據操做系統平臺經過 二進制運行[1],還能夠經過 Docker[2] 或 Vagrant[3],以及 包管理[4] 安裝。github
跨平臺web
任何 Go 語言支持的平臺均可以運行 Gogs,包括 Windows、Mac、Linux 以及 ARM。sql
輕量級docker
一個廉價的樹莓派的配置足以知足 Gogs 的最低系統硬件要求。最大程度上節省服務器資源數據庫
開源化編程
全部的代碼都開源在 GitHub[5] 上瀏覽器
而且支持多種數據庫,例如 MySQL、MSSQL、SQLite3 等。本文就以 Mysql 及 SQLite3 爲例,介紹下部署配置。下面都以 docker-compose 方式部署,安裝方法見官網[6]。
docker-compose.yml
version: "3"
services: gogs: restart: always # 自動重啓 image: gogs/gogs container_name: gogs ports: - "6022:22" # ssh 端口 - "6023:3000" # Web 訪問端口 volumes: - ./gogs-data:/data # 數據存儲 depends_on: - mysql mysql: restart: always image: mysql:5 container_name: mysql environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_USER: gogs # gogs 訪問數據庫用的帳號 MYSQL_PASSWORD: gogs123456 ports: - "6006:3306" volumes: - ./conf/my.cnf:/etc/mysql/my.cnf - ./mysql:/var/lib/mysql - /etc/localtime:/etc/localtime:ro # 通常會對 MySQL 進行配置,因此上面採用了 cnf 文件的形式,若是隻是修改字符集,也可使用 command 的形式,以下面所示 # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 複製代碼
my.cnf
[client] default-character-set=utf8mb4[mysql] default-character-set=utf8mb4
複製代碼[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci 複製代碼
注意:
MYSQL_USER
並不是必須,安裝頁面會要求輸入用戶名,若是沒有配置 MYSQL_USER ,也能夠用 root 帳戶,此時記得設置MYSQL_ROOT_PASSWORD
。
拷貝上述文件到服務器上
而後執行docker-compose up -d
,會自動拉取鏡像,並啓動容器。
若是不是用root
訪問數據庫,就先不急着打開瀏覽器安裝 Gogs,先用 HediSQL
(訪問數據庫工具)打開數據庫,賦予gogs
用戶遠程訪問權限,不然安裝是會報錯。
數據庫設置不正確:Error 1044: Access denied for user 'gogs'@'%' to database 'gogs'
,就是沒有給gogs
訪問權限。
還須要本身建立個數據庫,例如:gogs
(Gogs 能自動建立更好)。
配置好數據庫權限後,用瀏覽器打開http://ip:6023
進行 Gogs 的安裝。
須要修改的內容:
數據庫主機: mysql:3306
數據庫用戶: gogs 數據庫用戶密碼: •••••••••• 域名: localhost # 改爲本身的 SSH 端口號 : 6022 HTTP 端口號 : 6023 應用 URL : http://localhost:6023/ 複製代碼
安裝上述配置好後,點擊當即安裝
,就大功告成了。
可選設置中,能夠禁用註冊功能,在禁用註冊功能時須要配置管理員帳號。
PS:管理員帳號不能爲
admin
,會報錯
方式就更簡單了
docker-compose.yml
version: "3"
services: gogs: restart: always # 自動重啓 image: gogs/gogs container_name: gogs ports: - '6022:22' # ssh 端口 - '6023:3000' # Web 訪問端口 volumes: - ./gogs-data:/data # 數據存儲 複製代碼
拷貝上述文件到服務器上
而後執行docker-compose up -d
,會自動拉取鏡像,並啓動容器。
用瀏覽器打開http://ip:6023
進行 Gogs 的安裝。記得修改端口和域名,而後點擊安裝就能夠了。
二進制運行: https://gogs.io/docs/installation/install_from_binary.html
[2]Docker 安裝: https://github.com/gogits/gogs/tree/master/docker
[3]Vagrant 安裝: https://github.com/geerlingguy/ansible-vagrant-examples/tree/master/gogs
[4]包管理: https://gogs.io/docs/installation/install_from_packages.html
[5]Gogs: https://github.com/gogits/gogs/
[6]Docker Compose: https://docs.docker.com/compose/install/