群晖+docker+gitlab+外网

最近给公司做的新项目比较保密,所以项目就不打算放在coding上了。正好给公司新配了DS916,正好搭建gitlab作为以后的私有项目存放。
其实对于docker还比较陌生,也可以趁此机会熟悉一下。gitlab前段时间曝漏洞貌似比较严重啊,不过这里也就是内网和家里访问下问题也不大,随时更新就OK了。
对于外网穿透可以参照:用ngrok打开任督二脉(内网穿透)

之前其实已经莫名奇妙的通过DS控制台安装好了gitlab,群晖安装gitlab是自动创建docker镜像然后提示向导来完成操作的,都很简单。记录下修改的方法及外网访问的步骤:
安装好gitlab后默认的是http为30000端口,ssh是30001。初次安装时会提示输入访问域名。后期修改时需要先停止运行gitlab套件。
d1.png
d2.png
上图的30000和30001都是需要通过ngrok穿透过来的。
d3.png
这里我把GITLAB_PORT设置的80,直接可以从穿透的域名不用加端口号就能访问gitlab页面。
然后GITLAB_SSH_PORT设置为默认的30001,因为外网服务器的ssh端口默认的不变,因此需要和这里的SSH设置不一样的端口。
这里设置的端口只是用在gitlab页面的项目地址上,如图
d4.png
容器里的端口其实还是80和22。大概的映射图是这样:
yst.png

首先进入群晖控制台开启ssh服务。然后用管理员帐号登陆ssh(不是root)
登陆以后输入sudo-i切换为root。然后下载好生成好的ngrok客户端。
vim /usr/local/ngrok.yml

server_addr: "abc.com:4443"
trust_host_root_certs: false
tunnels:
  git:
    proto:
      http: "30000"
  tcp:
    proto:
      tcp: "30001"
    remote_port: 30001

然后在DS控制台添加任务,自定义脚本内容:

/usr/local/ngrok -config=/usr/local/ngrok.yml -log=/usr/local/ngrok.log start-all

标签: git, docker, 群晖, ngrok

添加新评论