惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
The Last Watchdog
The Last Watchdog
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
F
Fortinet All Blogs
Microsoft Security Blog
Microsoft Security Blog
A
Arctic Wolf
云风的 BLOG
云风的 BLOG
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
GbyAI
GbyAI
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
U
Unit 42
MyScale Blog
MyScale Blog
B
Blog
Spread Privacy
Spread Privacy
S
Schneier on Security
Project Zero
Project Zero
L
LINUX DO - 热门话题
M
MIT News - Artificial intelligence
F
Full Disclosure
WordPress大学
WordPress大学
Apple Machine Learning Research
Apple Machine Learning Research
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
Security Latest
Security Latest
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Tailwind CSS Blog
K
Kaspersky official blog
Recent Announcements
Recent Announcements
NISL@THU
NISL@THU
Cisco Talos Blog
Cisco Talos Blog
S
Securelist
P
Privacy & Cybersecurity Law Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
V
Visual Studio Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Webroot Blog
Webroot Blog

博客园 - 新房客

iOS中判断Apple Pencil力度与手触摸 Electron,VUEJS3,Vite,TypesSript 开发环境配置 安卓2022.3.11环境配置 网上设置的跨域基本都失效了,新的设置方式 从模型坐标到屏幕坐标 vscode Typescript自动修复引入类时,引号设置 基于nodejs的阿里云DDNS服务,支持多网卡绑定 WebGL与Canvas的显存与内存使用分析 基于nodejs的游戏服务器 typescript 中 d.ts module 与 namespace 区别 使用vs code与microsoft edge调试webpack项目 解决Jenkins无法编译Egret5.0项目的问题 筛选git最后一次文件列表 推荐一个不错的plist拆解工具,untp - 新房客 - 博客园 vs code(egret wing) php配置与调试 关于 typings install 的使用 angular 引入 component 报错 angular2 环境配置 html5 js跨域
群晖中使用Docker安装备份升级Gitlab
新房客 · 2023-01-08 · via 博客园 - 新房客

使用群晖NAS 220+ 有段时间了,最近想着省电&统一入口,把家里服务器上的gitlab移植到群晖中。

折腾了一个早上,搞定了。简单记录下步骤:

安装

1. 安装docker

在套件中心搜索到docker即可安装

2. 安装gitlab映像

启动已安装docker套件,在注册表中搜索gitlab, 翻了1页才找到.... 选中下载即可。

3. 创建容器

完成第二步,即可在docker套件左侧菜单中的映像启动了。 选中后点击启动。

注意,整体大概有3G,等下载完成后才能启动。

配置容器

网络

我选择的是桥连,也就是默认。 没有需求,直接下一步。

常规配置

容器名字可以改下,其他看需求,直接下一步。

端口配置

端口选几个没有占用的,和80,22,443对上即可。

80端口本地和容器要保持一致,至于为什么.... 后面配置gitlab.rb时解释

存储空间设置

gitlab官方推荐的的路径装载, 如果盘1的共享目录没有docker/gitlab/XXX,自行创建

docker/gitlab/config -> /etc/gitlab
docker/gitlab/data -> /var/opt/gitlab
docker/gitlab/logs -> /var/log/gitlab 

配置gitlab

由于我的docker中安装gitlab时还没有vim所以都是通过界面操作完成~~~

开始有些

  1. 停止正在运行的gitlab容器
  2. 设置docker/gitlb权限,从file station中找到gitlab点击右键,选择属性 - 权限。 列表中如果没有你的用户名,先添加,在勾选最下面的复选框。

  1. 从file station中找到并编辑docker/gitlab/config/gitlab.rb, 可以安装个文本编辑器套件,如果无法保存,从新设置上一步。
// gitlab.rb 配置项, 去掉 # 并设置选项。
// nas的ip和80对应的自定义映射端口,参考`端口配置。设置http拉去的URL`。 也可以设置`https://192.168.1.100:1443`
external_url 'http://192.168.1.100:1080'
// nas的ip和80对应的自定义映射端口,设置git/ssh拉去代码的前缀地址
gitlab_rails['gitlab_ssh_host'] = '192.168.1.100:1022'
// 【可选】设置https时
# letsencrypt['enable'] = false
# nginx['enable'] = true
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"

配置完成后的效果

关于external_url

方法一 统一本地与容器端口

有必要单独提一下这个配置属性,浪费了我1个小时。 开始,我本地端口配置的是1080,gitlab容器是默认的80。 怎么都不可以访问。

尝试删除external_url中的端口,可以访问.... 来回的验证,我理解应该是这个有一定重定向的操作。

外部1080访问docker-gitlab的80正常,如果设置了external_url端口,如 http://xxx:1080 ,外部访问的就是docker-gitlab的1080端口,可能不能访问...

最后的解决办法是,和外部的端口保持一致。 这样也不需要网上其他教程那样修改其他的配置实现。

方法二 后台设置

登录gitlab后台,在通用中找到 - 自定义HTTP(S)协议Git克隆URL, 设置想要的URL

关于DDNS动态域名访问

  1. 路由器设置端口转发, 此处应该设置的为 1022,1080,1443 指向你的NAS IP地址。
  2. 设置DDNS动态域名
  3. 设置gitlab.rb,我的路径为docker/gitlab/config/gitlab.rbexternal_urlgitlab_ssh_host 域名地址与端口。

gitab 备份

需要进入终端

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore
gitlab-ctl restart

// 备份
gitlab-rake gitlab:backup:create

gitlab 升级

升级之前,一定要备份。 gitlab版本号升级规则要注意,不清楚的可以自己找找。

  1. 在套件中停止容器运行。
  2. 删除容器,删除映射。
  3. 注册表中拉取下载最新的容器
  4. 启动创建容器,名字/配置要和你上次的一致。