0%

确定版本

确定源服务器和目标服务器的版本。不然恢复备份时候会出现版本不一致的问题。

20200522224718

基于Docker的Gitlab,可以先更新一下镜像。再进行备份。或者目标服务器拉取指定版本的镜像。

备份

进入镜像,执行命令生成备份

1
gitlab-rake gitlab:backup:create RAILS_ENV=production 

20200522225121

备份完成。注意!gitlab.rb 这个配置文件需要手动复制到目标服务器。

迁移

找到备份的配置文件。在你挂载的/data/backups目录下

例如我的位置

20200522225742

拷贝到目标服务器的相同目录下,例如

20200522230003

进入容器执行

1
gitlab-rake gitlab:backup:restore RAILS_ENV=production   BACKUP=1590159208_2020_05_22_13.0.0

注意BACKUP的时间标记。为你需要恢复的备份。

复制gitlab.rb这个文件到目标服务器。

重启Gitlab

1
2
gitlab-ctl reconfigure
gitlab-ctl restart

迁移完成。

20200522200022

查看你的网卡名称

1
ifconfig

20200522200141

例如我要更改 ens160 这个网卡

1
cd /etc/netplan

找到文件,名字可能不一样

20200522200353

1
nano 00-installer-config.yaml

更改配置

1
2
3
4
5
6
7
8
9
10
11
# This is the network config written by 'subiquity'n
network:
ethernets:
ens160:
dhcp4: false
addresses: [192.168.1.6/24]
optional: true
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1,8.8.8.8]
version: 2

配置

  • ip地址:192.168.1.6
  • 子网掩码: 255.255.255.0
  • 网关:192.168.1.1
  • DNS服务器:192.168.1.1, 8.8.8.8

应用更改

1
netplan apply

20200507193511

备份原始源

1
2
3
cd /etc/apt
cp sources.list sources.list.bak
rm sources.list

更改源

1
nano sources.list

然后填写以下内容。

清华源

ubuntu 20.04(focal) 配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse

阿里源

ubuntu 20.04(focal) 配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
deb https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-updates main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu-ports/ focal-backports main restricted universe multiverse

其他版本根据版本号替换即可

1
deb https://mirrors.aliyun.com/ubuntu-ports/ focal main restricted universe multiverse

focal即版本号

更新

1
apt update && apt upgrade -y

20200507194302

速度比官方源快很多。

注意

ubuntu-ports是Arm64,Armhf 等平台的 Ubuntu 软件仓库

20200506000117

腾讯企业邮箱配置如下,其他邮箱同样适用。

找到配置

1
2
3
4
5
6
7
8
9
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@wudinaonao.com"
gitlab_rails['smtp_password'] = "xxxxxxxxxxxxxxxxxx"
gitlab_rails['smtp_domain'] = "wudinaonao.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

在找到配置

1
2
3
4
# gitlab 发件邮箱
gitlab_rails['gitlab_email_from'] = 'gitlab@wudinaonao.com'
# 默认标题
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'

重载gitlab配置

1
gitlab-ctl reconfigure

登录到你搭建的Gitlab发一封重置密码的邮件试试

20200506000733

成功

20200506000803

阿里云企业邮箱配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourself.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "yourself user name"
gitlab_rails['smtp_password'] = "yourself password"
gitlab_rails['smtp_domain'] = "yourself hostname"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true

###! **Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert'**
###! Docs: http://api.rubyonrails.org/classes/ActionMailer/Base.html
gitlab_rails['smtp_openssl_verify_mode'] = 'none'

更多邮箱配置参见官方

https://docs.gitlab.com/omnibus/settings/smtp.html

参考链接

https://docs.gitlab.com/omnibus/settings/smtp.html

https://gitlab.com/gitlab-org/gitlab-foss/-/issues/446

用Docker搭建饥荒服务器

20200503210534

安装

1
docker pull jamesits/dst-server

20200503210917

拉取到的镜像

20200503213045

如果没有安装docker-compose建议安装,方便书写配置文件。

1
apt install docker-compose

新建一个目录用于存放数据文件

1
2
mkdir /${HOME}/dst
cd /${HOME}/dst

打开本机饥荒

点账号

20200503213529

查看我的游戏

20200503213654

选择饥荒

20200503214024

添加一个新服务器,起一个用于识别的名字

20200503214359

复制那串key

20200503214424

回到服务器

创建docker-compose.yml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cat > docker-compose.yaml <<"EOF"
version: '3.5'
services:
dst-server:
environment:
- DST_CLUSTER_TOKEN=这里粘贴刚才复制的那串key
image: jamesits/dst-server:latest
restart: "on-failure:5"
ports:
- "10999-11000:10999-11000/udp"
- "12346-12347:12346-12347/udp"
volumes:
- ${HOME}/.klei/DoNotStarveTogether:/data
stop_grace_period: 6m
EOF

创建并运行容器

1
docker-compose up

看到这个

20200503215417

ctrl+c退出容器编辑配置文件

配置

1
2
3
cd
cd .klei/DoNotStarveTogether/DoNotStarveTogether/Cluster_1
nano cluster.ini

简单配置下,这里基本是关于游戏模式和服务器的设置。你也可以在本地新建一个房间,然后把配置文件拿过来替换掉服务器上的配置。

20200503220023

后台运行

1
2
cd
docker-compose up -d

如果你的主机提供商有安全规则的话,你需要放行这样四个端口,UDP协议。

1
2
10999-11000
12346-12347

20200503220519

开始玩

浏览游戏

20200503220813

等待搜索完服务器列表

20200503221138

过滤器输入我们刚才配置的服务器名字 NaonaoTencenCloud

20200503220848

加入

20200503222950

创建角色

20200503223240

可以愉快的玩耍了

参考链接

https://hub.docker.com/r/jamesits/dst-server

Nginx反向代理HTTPS

Nginx Server 设置

例如 转发到 https://127.0.0.1:8848

1
2
3
4
5
6
7
8
9
10
11
12
13
14
location ~/ {
# 如果代理到一个动态域名,这里需要设置解析DNS
# 不然Nginx只在启动的时候解析一次
resolver 8.8.8.8 114.114.114.114 valid=10s;
resolver_timeout 3s;
假如你要代理到 127.0.0.1:8848
set $target "127.0.0.1:8848";
# 这里之前填写成 $proxy_host 导致代理失败
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
proxy_ssl_certificate /xxx.crt # 证书路径;
proxy_ssl_certificate_key /xxx.key #私钥路径;
proxy_pass https://$target;
}

Docker搭建Gitlab服务器

获取 Gitlab 镜像

1
docker pull gitlab/gitlab-ce

启动容器

映射端口,配置访问方式

  • 8443 https
  • 8080 http
  • 8022 ssh

挂载3个volume到容器里,分别用于配置,持久化,日志。

阅读全文 »

用Nginx搭建自己的私有Git服务器

背景

现在Github的私有仓库已经无限制免费了,但是Geek精神总是在召唤我似乎可以自己搭建一台自己的私有Git服务器?(你甚至可以写个后台前端搭建一个自己的Github!额,貌似是Gitlab?)

说干就干!

阅读全文 »