这个教程是基于N1的,当然也可以在支持docker的树莓派上完美运行

Gogs是一个国人开发的git版本控制系统,该系统使用go语言开发,可以在树莓派上运行
这个教程基于gogs的 arm docker镜像进行安装

安装服务

1
2
3
4
5
6
7
8
9
10
11
12
13
arm上安装gogs
docker pull gogs/gogs-rpi:0.11.91
docker run -d --name=gogs -p 3000:3000 -v /var/gogsdata:/data gogs/gogs-rpi:0.11.91


数据库可以使用默认内置的Sqlite3

问:gogs安装完成后账认的管理员账号与密码是什么?
答:默认的管理员账号与密码是你注册的第一个账号,就是安装完成后你的第一个账号就是管理员,同时也有普通账号的功能

注意设置一个默认域名,emmmmm,局域网测试的时候,推荐使用switchhost

后面可以直接在在app.ini中修改这些配置

安装nginx

1
2
3
4
5
6
安装
apt-get install nginx
文件目录:
/usr/share/nginx
配置文件目录
/etc/nginx

使用switchhost指定一个自己喜欢的域名

1
192.168.2.101 git.lien.com

在nginx上监听域名,并且转发到服务端口

1
2
3
4
5
6
7
8
9
10
11
12
13
server {
# 监听 80 端口
listen 80;
autoindex on;
server_name git.test.com
client_max_body_size 2048M;
access_log /usr/local/nginx/logs/access.log combined;
location / {
# 反向代理到 8080 端口
proxy_pass http://localhost:3000;
add_header Access-Control-Allow-Origin *;
}
}

迁移x86的gogs到arm

把在自己服务器(x86架构)上的gogs迁移到n1

把数据导入,导出

把数据库从mysql导出,倒入到mariadb(arm只有mariadb的镜像,没有mysql,但是可以完全兼容)

数据操作

1
2
3
4
5
6
7
8
9
10
把原来服务器上的/var/gogsdata
打包下载,然后全部放到新服务器
zip -r gogs.zip gogsdata
tar -cvf gogs.tar gogsdata

tar -cvf gogs-new.tar gogsdata

还原
tar -xvf gogs.tar
tar -xvf gogs-new.tar

记得要先创建数据库(gogs)

创建用户

mariadb操作

1
2
3
4
5
创建gogs用户,并且授权gogs数据库给他
grant all privileges on gogs.* to gogs@'%' identified by 'root';

查询
select user from mysql.user;

启动镜像

1
docker run -d --name=gogs -p 3000:3000 -v /var/gogsdata:/data gogs/gogs-rpi:0.11.91