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/