-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathatom.xml
605 lines (295 loc) · 419 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>我不是咕咕鸽</title>
<subtitle>VPS折腾不完全记录</subtitle>
<link href="https://blog.laoda.de/atom.xml" rel="self"/>
<link href="https://blog.laoda.de/"/>
<updated>2024-02-21T03:17:09.054Z</updated>
<id>https://blog.laoda.de/</id>
<author>
<name>咕咕鸽</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>特斯拉 Model Y 2023 长续航四驱版本两个月使用体验分享</title>
<link href="https://blog.laoda.de/archives/model-y-lr-awd-2023/"/>
<id>https://blog.laoda.de/archives/model-y-lr-awd-2023/</id>
<published>2024-02-21T02:00:26.000Z</published>
<updated>2024-02-21T03:17:09.054Z</updated>
<content type="html"><![CDATA[<img src="https://img.laoda.de/i/2024/02/20/191744-1.webp" alt="94891a7fa10916d3c2f6d5b1ca36a6dd.png" style="zoom:33%;" /><p>咕咕在2023年12月10日提到了Model Y(国庆回来下的单,等了两个月 = =),到现在已经两个多月的时间了,这段时间也比较忙,今天有时间就来和大家简单分享一下这段时间的使用体验,也给想要了解Model Y或者想要买车的小伙伴们一些参考。</p><h2 id="1-总共花了多少钱?"><a href="#1-总共花了多少钱?" class="headerlink" title="1. 总共花了多少钱?"></a>1. 总共花了多少钱?</h2><h3 id="1-1-落地价"><a href="#1-1-落地价" class="headerlink" title="1.1 落地价"></a>1.1 落地价</h3><img src="https://img.laoda.de/i/2024/02/20/191752-1.webp" alt="323926ba8804c7b0279f950b76fd9194.png" style="zoom:33%;" /><p>首先说一下买的价钱:</p><blockquote><p><strong>299900(裸车)+8000(冷光银漆)+120(上海新能源上牌费用)+9000(保险)-3500(朋友推荐奖励)=313520 RMB</strong></p></blockquote><p>PS:如果要买车或者试驾,也可以用我的推荐链接:<a href="https://gao.ee/tesla">https://gao.ee/tesla</a> 现在似乎买车没有现金减免的奖励了,只有一些权益积分啥的,不过也一直在变,可能过段时间又有了 = =</p><p>找工商银行贷款了30万,5年,利率2.144%,每个月还款5536,美债利率5.35%(关于如何买美债,后续可以在泛金融类里面和大家简单分享),算了一下,第35个月还请贷款,还可以省14810。</p><img src="https://img.laoda.de/i/2024/02/21/110705-1.webp" alt="image-20240221110703302" style="zoom:33%;" /><p>车子咕咕考虑到节日期间会有长途跑高速的需求,没有犹豫直接选了长续航版本,和标续相比,长续还是三元锂电池,而且是四驱的,个人感觉还是很值得的。(我是19英寸的轮毂,官方CLTC 688公里,充满电表显续航529公里,实际续航下文会有分享)</p><img src="https://img.laoda.de/i/2024/02/20/191800-1.webp" alt="55a5fb8c4117c864336d39efa721d0a3.png" style="zoom:33%;" /><p>至于颜色,黑色是不加价的,其余颜色都需要加价8000。黑色的漆最薄,而且也是最不耐脏的。加价的颜色中,其实红色和白色的漆是最厚的,我本来想要白色的,但是对象觉得白色的看起来像个大鼠标,就选了银色。</p><img src="https://img.laoda.de/i/2024/02/20/191807-1.webp" alt="f3a2fc1e2121d551697815f5a0a9e939.png" style="zoom:33%;" /><blockquote><p>当然你也可以选一个黑色,然后去贴车衣,价格好像也差不多要1w块,但是我的修车的哥哥(也有给人贴车膜车衣的)说那个是智商税,建议我买的时候买个喜欢的颜色,开就行了,不要浪费那个钱……</p></blockquote><p>牌照,这个是我们决定这么快买电车的很大原因。因为之前沪牌蓝牌我不信邪,觉得自己能拍上,结果自己手动拍了6次没拍上,临近年末又有传言说可能2024年不送新能源的牌照了,加上我们的小宝是粤B的,平时晚上要7点之后才能开,有时候不方便,所以综合考虑下来,我们决定入手一台电车。</p><img src="https://img.laoda.de/i/2024/02/20/191815-1.webp" alt="4e5709aabe236784174576bb9ed6ddae.png" style="zoom:33%;" /><p>保险,我们选了太平洋产险,总共差不多9000块,保500万。据说第二年会便宜一些,好像续保的时候可以要求送一些权益,比如一次喷漆啥的。</p><p>引荐奖励。通过朋友的引荐下单,朋友可以获得7000积分,我们可以少花3500元,而且还赠送了90天的增强版自动驾驶。(现在好像没了 = =)</p><p>特斯拉是直营的,价格透明,也没有砍价这一说,不需要和销售斗智斗勇,车型简单(S、3、X、Y,标准续航、长续航和高性能版本)甚至你可以在官网直接下单,这点我非常喜欢。</p><h3 id="1-2-“装潢”费用"><a href="#1-2-“装潢”费用" class="headerlink" title="1.2 “装潢”费用"></a>1.2 “装潢”费用</h3><h4 id="1-2-1-特斯拉内饰大礼包"><a href="#1-2-1-特斯拉内饰大礼包" class="headerlink" title="1.2.1 特斯拉内饰大礼包"></a>1.2.1 特斯拉内饰大礼包</h4><p>除了这些之外,七七八八配件啥的大概还花了小2000?具体没统计,老婆买的一个特斯拉大礼包,里面啥都有 = =。其实我个人感觉没必要买那么多,几件必需品(脚垫、前后备箱垫、手机支架、平板膜和防护套、防虫网买一下就差不多了)</p><p>补几张我这边买的配件的图,这几个都还不错(尤其是手机支架,因为我不需要无线充电功能,买的这款,非常好用),蔡徐坤的那个吸铁不建议买,容易掉,我才一周就发现头不见了,后来洗了一次车,身子也不见了 = =</p><img src="https://img.laoda.de/i/2024/02/20/193946-1.webp" alt="306f9f9f15a5897873a9842a3e952521.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/20/193954-1.webp" alt="4ec95d1016f88a219bac929e4ce94254.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/20/194000-1.webp" alt="81093ce5c5b78dcb40466361129b6446.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/20/194011-1.webp" alt="be04af4ecdd82c421de658800436309e.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/20/194019-1.webp" alt="5578791d7a9b916399b91e8345236815.png" style="zoom:33%;" /><h4 id="1-2-2-玻璃膜"><a href="#1-2-2-玻璃膜" class="headerlink" title="1.2.2 玻璃膜"></a>1.2.2 玻璃膜</h4><img src="https://img.laoda.de/i/2024/02/20/194026-1.webp" alt="bce1c89965de28155c662c831a90a924.png" style="zoom:33%;" /><p>这个其实也是交车的时候定的,不过是过了一周才贴的。我本来以为是特斯拉自己人,没想到后面发现是特斯拉和3M合作的,2998,”MY特享深色全车”升级成”MY畅享深色全车”,45%隔热(感觉这个交学费了,因为之前听说夏天特斯拉顶部大玻璃会很热就搞的这个45%的,后面发现太黑了,晚上倒车的时候不摇下车窗根本看不清后视镜 = =)</p><h3 id="1-3-后续费用"><a href="#1-3-后续费用" class="headerlink" title="1.3 后续费用"></a>1.3 后续费用</h3><p>电车基本没有啥维护费,就每年120块换个空调滤芯,1w公里的时候做一下轮胎换位。充电的话如果家里有条件装充电桩(特斯拉的充电桩不免费送,要加钱的,不过那些说送充电桩的基本上也早就把价格算到你车价里了 = =),基本上5毛一度电,78度电池充满才40块,可以跑500公里,真是很香了。</p><p>我这边暂时搞不了充电桩,只能去充电站充电,特斯拉自己的超级充电桩比较贵,差不多要2块钱一度,好处就是快,而且因为有超时占用费,基本上应急补能的时候都能有空位。</p><p>一般来说我会选择去国网充电或者是蔚来的充电桩,速度比特斯拉自己的慢一点点,(20%充到80%大概慢10分钟的样子)但是便宜,均价差不多1.4-1.5的样子。</p><blockquote><p>国网的充电app叫“e充电”,蔚来的用的微信小程序。</p></blockquote><h2 id="2-续航怎么样?"><a href="#2-续航怎么样?" class="headerlink" title="2. 续航怎么样?"></a>2. 续航怎么样?</h2><p>车辆外观啥的,没啥好讲,大家应该已经看过很多了,下面就讲讲我最关心的一个,续航。</p><p>官方全轮驱动长续航版本的CLTC 续航里程为688 公里,这个是理论值。</p><p>表显100%电量是529 公里,529/688=76.89%</p><p>过年从上海到杭州,正好赶上雨雪天气(0-3度左右),车里塞满东西,两人一猫,全程空调自动,单踏板模式,动能回收标准,跑了3个多小时,能耗163Wh/km,换算的话,model Y长续航有78.4度(kWh)的电池,78.4/0.163=480.98 公里。</p><img src="https://img.laoda.de/i/2024/02/20/191822-1.webp" alt="WechatIMG1463.jpg" style="zoom: 50%;" /><p>回程的时候,天气比较适宜(15度左右),我从老家到杭州,居然跑出了139 Wh/Km的能耗,这样换算的话,78.4/0.139=564 公里。</p><img src="https://img.laoda.de/i/2024/02/20/191832-1.webp" alt="WechatIMG1464.jpg" style="zoom:50%;" /><p>因为提车到现在基本是全年最低温的一段时间了,跑了3500多公里,整体能耗是165 Wh/Km,换算的话是,78.4/0.165=475.15 公里。</p><p>所以大概这台长续航的实际续航表现,目前来看,最少也有表显的,475.15/529=89.82%</p><p>如果是139 Wh/Km的能耗甚至会超过表显(这个有点夸张)</p><p>总体来看,Model Y的表显还是比较准的。</p><h2 id="3-有哪些优缺点?"><a href="#3-有哪些优缺点?" class="headerlink" title="3. 有哪些优缺点?"></a>3. 有哪些优缺点?</h2><h3 id="3-1-缺点"><a href="#3-1-缺点" class="headerlink" title="3.1 缺点"></a>3.1 缺点</h3><p>先说缺点。</p><p>1、裸车很多地方都是毛毡材质的,为了好打理,你需要去买一堆配件(比如脚垫,后备箱垫啥的)</p><p>2、悬挂太硬,后排坐会感觉比较颠,尤其是你单踏板掌握还不是很好的情况下。</p><p>3、没有360全景影像轮毂特别容易刮花,老司机也会刮到。停路边的特斯拉你去看一眼基本轮毂都有蹭到马路牙子的痕迹。(这个有的车型似乎已经有OTA升级了3D建模,不过我的还没收到推送 = =)</p><img src="https://img.laoda.de/i/2024/02/20/191840-1.webp" alt="dfc5d769bf9286e72f7211743ad9e40c.png" style="zoom: 33%;" /><p>4、雨刮器自动模式不是很智能。(最新OTA升级,AP模式下已经可以选择是否自动开启雨刮器了。)</p><p>5、车机地图不如高德,有时候走的不是最优路线。</p><p>6、空调自动无法调节出风是冷风还是热风。</p><p>7、没有座椅通风。</p><p>8、后排座椅感觉还是有点短,腿部支撑不是很够,如果能长一点就好了。</p><p>8、不知道是不是无门框车窗的缘故,路噪还是挺大的个人感觉,驾驶的时候不开点音乐还是挺吵的</p><p>以上。</p><h3 id="3-2-优点"><a href="#3-2-优点" class="headerlink" title="3.2 优点"></a>3.2 优点</h3><p>除此之外,都是优点。</p><p>这边简单列几个感受最深的。</p><ul><li>加速快,方向盘指向非常精准,操控感极佳(大家可以自己去特斯拉店里亲身试驾一下)。这次跑高速,超车变道体验非常丝滑</li><li>辅助驾驶很好用,基本版本就够用了,开高速真的会轻松很多</li><li>可以自由设置油车模式还是单踏板模式,方便之前开油车的小伙伴</li><li>单踏板模式真香(相信我,只要你用过就会喜欢上它,而且你并不会把油门当刹车踩,网上那些说什么单踏板模式有安全隐患,吐槽刹车失灵的,骂的,绝对是没开过的,单踏板模式反而是最安全的方式,而且你可以前期选择搭配舒适模式的动能回收,等自己熟悉了再调到标准模式的动能回收)</li><li>空间大,贼能装</li><li>车机很简约好用,OTA升级每次都有新功能。(AMD Ryzen处理器芯片真的很顶加上性能强劲的GPU,甚至可以在车上玩赛博朋克2077,目测可能比小米su7的高通骁龙8295要好)</li><li>车辆保修维护很简单,APP上直接预约即可,维修中心的工作人员也很不错(跑长途之前预约了一次免费检测,白嫖洗车)</li></ul><p>等等等等。</p><h2 id="4-总结"><a href="#4-总结" class="headerlink" title="4. 总结"></a>4. 总结</h2><p>Model Y的销量高不是没有原因的,整体看来他就是一辆性价比不错的车子,尤其是对于我这种比较注重汽车本身性能的来说。我不喜欢和销售斗智斗勇砍价,我不需要车上冰箱彩电(当然沙发有还是不错的 = =),我也不用担心自己会因为太相信表显续航而在长途路上抛锚,更不用担心是不是过3-5年修车找不到厂家。</p><p>最后,如果你打算入手,建议入手HW4.0的硬件版本,目前应该已经有售卖了,还新增了一个快银配色,非常酷,前阵子好像换色颜色只要2000块了,而且长续航车价又回到了299900。</p>]]></content>
<summary type="html"><img src="https://img.laoda.de/i/2024/02/20/191744-1.webp" alt="94891a7fa10916d3c2f6d5b1ca36a6dd.png" style="zoom:33%;" />
<p>咕咕在2023年12月10</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="Model Y" scheme="https://blog.laoda.de/tags/Model-Y/"/>
<category term="特斯拉" scheme="https://blog.laoda.de/tags/%E7%89%B9%E6%96%AF%E6%8B%89/"/>
<category term="车机系统" scheme="https://blog.laoda.de/tags/%E8%BD%A6%E6%9C%BA%E7%B3%BB%E7%BB%9F/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】10分钟搭建带提醒的个人订阅追踪器——Wallos!VPS、云服务续费时间,续费金额,一目了然!</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-wallos/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-wallos/</id>
<published>2024-02-20T00:59:25.000Z</published>
<updated>2024-02-20T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p><img src="https://img.laoda.de/i/2024/02/20/090354-1.webp" alt="image-20240220090352589"></p><p>买了很多VPS,虽然厂商会在服务到期给你发邮件提醒续费,但是应该有不少小伙伴和我一样不同服务商可能用的是不同的邮箱,为了方便统一管理,也为了看看自己一年到底花了多少钱在这上面,这周我们就来搭建一个开源的个人订阅跟踪器!</p><p>官方Demo:</p><img src="https://img.laoda.de/i/2024/02/19/165620-1.webp" alt="ca7f42183c41637940e56bc49f13d2e6.png" style="zoom: 50%;" /><p>咕咕搭建之后的样子:</p><img src="https://img.laoda.de/i/2024/02/19/165629-1.webp" alt="5aa9e3b928faa3a48abb05a82cf68125.png" style="zoom: 50%;" /><p>浅浅看一下一年续费这些云服务需要多少钱(不完全统计 = =)</p><img src="https://img.laoda.de/i/2024/02/19/170302-1.webp" alt="64c398677f18df1e888b05a9725190f5.png" style="zoom: 50%;" /><p>Wallos是一个强大的、开源的、可自托管的网络应用程序,旨在帮助你轻松管理财务。告别复杂的电子表格和昂贵的财务软件——Wallos简化了跟踪支出的过程,并帮助您更好地掌控自己的财务生活。</p><p>特点:</p><ul><li>订阅管理:跟踪您的定期订阅和付款,确保您永远不会错过截止日期。</li><li>类别管理:将您的支出组织成可自定义的类别,使您能够深入了解自己的消费习惯。</li><li>多货币支持:Wallos支持多种货币,允许您以自己选择的货币管理财务。</li><li>货币转换:与Fixer API集成,这样您就可以获取汇率并在主要货币上查看所有订阅内容。</li><li>数据隐私:作为一个自托管应用程序,Wallos确保您的财务数据始终保持私密和安全存储在自己的服务器上。</li><li>定制化:通过可定制的类别、货币、主题和其他显示选项来满足Wallos适合你需求。</li><li>排序选项:允许你从不同角度查看你的订阅内容。</li><li>Logo搜索: 如果没有上传logo, Wallos可以在网络中搜索到相应服务商标志</li><li>移动视图: 随时随地使用Wallos</li><li>统计信息: 深入了解你花费情况另一种视角</li><li>通知: 通过电子邮件收到即将到期付款提醒</li><li>多语言支持</li></ul><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><img src="https://img.laoda.de/i/2024/02/19/165637-1.webp" alt="d9ad4f28fff5156b676ed88f3e829add.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2024/02/19/165642-1.webp" alt="3b3bc6e083f4132a0b046c9ba6463f78.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2024/02/19/165648-1.webp" alt="4ecd654b6062296fc4fddc806429a35d.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2024/02/19/165655-1.webp" alt="c145e606a8c5d90ec28cd05417571a03.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2024/02/19/165700-1.webp" alt="43042e59080d35fdadc5c3dd8bde9abd.png" style="zoom:50%;" /><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>官方GitHub地址:<a href="https://github.com/ellite/Wallos">https://github.com/ellite/Wallos</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li><p>服务器:咕咕这边用的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)或者<a href="https://gao.ee/lca">莱卡云</a>的香港或者美国CN2 GIA</p></li><li><p>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</p></li><li><p>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</p></li><li><p>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p></li><li><p>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</p></li><li><p>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</p></li></ul><h2 id="5-搭建视频(以后有时间再录-)"><a href="#5-搭建视频(以后有时间再录-)" class="headerlink" title="5. 搭建视频(以后有时间再录 = =)"></a>5. 搭建视频(以后有时间再录 = =)</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:</p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:</p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/wallos</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/wallos</span><br><span class="line"></span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3'</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">wallos:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">bellamy/wallos:latest</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">wallos</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8080</span><span class="string">:80</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./data:/var/www/html/db</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./logos:/var/www/html/images/uploads/logos</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TZ=Asia/Shanghai</span></span><br></pre></td></tr></table></figure><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8080</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>8080</code>,示例填 <code>wallos</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8080</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8080 <span class="comment">#查看 8080 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>没问题的话,运行:</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">cd /root/data/docker_data/wallos</span><br><span class="line"></span><br><span class="line">docker compose up -d </span><br><span class="line"></span><br></pre></td></tr></table></figure><p>就搭建好啦。</p><p>理论上我们就可以输入 <code>http://ip:8080</code> 访问了。</p><p>但是这边我们必须先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2024/02/19/165715-1.webp" alt="9cc0d556bcd9d6f9612c1f17fe4a9be8.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/19/165721-1.webp" alt="acc4acaa5952723dd30dce4622c8ddcc.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/19/165726-1.webp" alt="7b3dacc797ce40ab93152907b0b3a29a.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/19/165731-1.webp" alt="7e1f8498e23f28b4c20b29d7bbfb1ee7.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8080</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 wallos 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>wallos</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8080/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><p>登陆页面注册:</p><img src="https://img.laoda.de/i/2024/02/19/165741-1.webp" alt="cca8afe4a641474020012ae2b1b23059.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2024/02/19/165751-1.webp" alt="0a61dabf2f6b89b9c297316eddc89946.png" style="zoom: 33%;" /><p>这边输入名字之后,可以直接搜索logo,非常方便:</p><img src="https://img.laoda.de/i/2024/02/19/165801-1.webp" alt="eb5f0e13dfe370b63dfb9eb3aa4b463e.png" style="zoom: 33%;" /><p>默认分类是英文的,我们一会儿可以在后台设置中手动改成中文:</p><img src="https://img.laoda.de/i/2024/02/19/165810-1.webp" alt="fa3e1cb2567e9cde13662a8b7a6b9e49.png" style="zoom:33%;" /><p>默认英文的:</p><img src="https://img.laoda.de/i/2024/02/19/165817-1.webp" alt="fbe6299c24e450b63aff3e716360c312.png" style="zoom:33%;" /><p>对应中文如下,你还可以添加自定义的类别:</p><ul><li>娱乐</li><li>音乐</li><li>实用工具</li><li>食品和饮料</li><li>健康</li><li>生产力工具</li><li>银行相关</li><li>交通</li><li>教育</li><li>保险</li><li>游戏</li><li>新闻与杂志</li><li>软件</li><li>技术相关</li><li>云服务</li><li>慈善捐赠</li></ul><img src="https://img.laoda.de/i/2024/02/19/165824-1.webp" alt="21f67dc2e30f3c11948dce511b64f184.png" style="zoom:33%;" /><p>配置SMTP邮件通知,可以用QQ邮箱,相关内容可以搜索关键词<code>QQ SMTP配置</code></p><img src="https://img.laoda.de/i/2024/02/19/165830-1.webp" alt="dbb746728459e5fefd3afc0216b00f42.png" style="zoom:33%;" /><p>SMTP配置成功!</p><img src="https://img.laoda.de/i/2024/02/19/165836-1.webp" alt="image-20240218153624041" style="zoom:33%;" /><p>删掉不常用的货币,有些这辈子都不会用到 = =:</p><img src="https://img.laoda.de/i/2024/02/19/165842-1.webp" alt="fb75f6b2b2a46679be664c817dd84331.png" style="zoom:33%;" /><p>这个API Key可以免费申请,不过需要绑定信用卡,咕咕绑定的是虚拟卡onekey,实测不需要扣费验证:</p><img src="https://img.laoda.de/i/2024/02/19/165848-1.webp" alt="6747d83eb3204184f17a226402cbb66a.png" style="zoom:33%;" /><p>同样删除掉不用的支付方式:</p><img src="https://img.laoda.de/i/2024/02/19/165855-1.webp" alt="48262d5775e63bd6decc481ef52cbbdf.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/19/165900-1.webp" alt="ed9c5f9d45f642e390064015b0c6cb7e.png" style="zoom:33%;" /><p>然后就可以愉快的添加你的项目啦:</p><img src="https://img.laoda.de/i/2024/02/19/165908-1.webp" alt="7f5b17b7dae5890cb2826b27627b46f1.png" style="zoom:33%;" /><h3 id="8-1-更新-wallos"><a href="#8-1-更新-wallos" class="headerlink" title="8.1 更新 wallos"></a>8.1 更新 wallos</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/wallos</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-wallos"><a href="#8-2-卸载-wallos" class="headerlink" title="8.2 卸载 wallos"></a>8.2 卸载 wallos</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/wallos</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/wallos <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><p>待补充。</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/ellite/Wallos/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/ellite/Wallos">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p><a href="https://github.com/ellite/Wallos">https://github.com/ellite/Wallos</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p><img src="https://img.laoda.de/i/2024/02/20/090354-1.webp" alt</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="云服务订阅" scheme="https://blog.laoda.de/tags/%E4%BA%91%E6%9C%8D%E5%8A%A1%E8%AE%A2%E9%98%85/"/>
</entry>
<entry>
<title>【经验分享】还算顺利的香港开卡之旅——中银香港、汇丰香港、招商永隆、ZA Bank及其他虚拟银行</title>
<link href="https://blog.laoda.de/archives/trip-to-Hong-Kong-for-opening-bank-accounts/"/>
<id>https://blog.laoda.de/archives/trip-to-Hong-Kong-for-opening-bank-accounts/</id>
<published>2024-02-02T06:24:15.000Z</published>
<updated>2024-02-02T16:00:00.000Z</updated>
<content type="html"><![CDATA[<p>大A拉垮,上周趁着通行证签注快到期了去了趟香港,办了几张银行卡。</p><img src="https://img.laoda.de/i/2024/02/02/n66z67-0.webp" alt="image-20240202140109085" style="zoom: 33%;" /><blockquote><p>本来是想着绑定到香港PayPal上的(香港PayPal绑定香港银行卡超过2000港币提款免手续费,大陆的PayPal提款到大陆或者美国的银行卡每笔收35刀手续费),但是发现香港PayPal需要我验证身份,没有港区ID,用不了了 = =</p></blockquote><p>这边关于香港之行其他的内容之后有机会再和大家分享,这边就存粹记个流水账,把开卡部分单独和大家分享一下。</p><img src="https://img.laoda.de/i/2024/02/02/n6c1ua-0.webp" alt="image-20240202140133263" style="zoom: 33%;" /><p>先看结果,一共开了这些银行:</p><img src="https://img.laoda.de/i/2024/02/02/ndkk7m-0.webp" alt="image-20240202141347822" style="zoom:33%;" /><blockquote><p>那个右下角的Octopus是八达通,不是银行 = =</p></blockquote><h2 id="Q-A"><a href="#Q-A" class="headerlink" title="Q&A"></a>Q&A</h2><p>1、预约了吗?</p><p>没有预约,中银根本预约不上,全是灰色的,汇丰预约要1个月之后,所以我都是没有预约直接去的。</p><p>2、那个理财证明的资金量是多少?我担心太少不给开?</p><p>不看你有多少钱的,不用担心</p><p>下面分享下用了哪些东西。</p><h2 id="准备材料"><a href="#准备材料" class="headerlink" title="准备材料"></a>准备材料</h2><ul><li>身份证</li><li>港澳通行证</li><li>过关小票</li><li>地址证明(我用的是招商银行的近三个月的信用卡账单,去线下找工作人员打的,如果你身份证地址和邮寄地址是同一个的话就不需要额外地址证明了)</li><li>15000港币(如果你不开招商永隆,其他的银行可以不用充钱)</li></ul><p>额外准备的东西:</p><ul><li>一个转接插头(香港是英标的,需要转接插头)</li><li>到香港地铁站可以买一个八达通(Octopus)的卡,需要200元,里面有150元余额,不过你可以透支50元,退卡的话需要11元港币的费用(虽然目前香港绝大多数场景都可以用微信和支付宝)</li><li>下载一个CityMapper的APP(比高德和谷歌都好用)</li><li>到丰泽的店里买一张hahasim(50块钱,都是话费,使用的时候需要实名)或者你提前手机开通漫游功能,接验证码需要用到</li></ul><p>感谢TG的好友帮忙指导,让我少走了很多弯路,也祝愿他顺利拿到香港身份。</p><h2 id="开户理由"><a href="#开户理由" class="headerlink" title="开户理由"></a>开户理由</h2><p>想要炒美股,港股</p><h2 id="时间选择"><a href="#时间选择" class="headerlink" title="时间选择"></a>时间选择</h2><p>周一(注意香港银行周六下午和周日是不工作的。)</p><h2 id="地点选择"><a href="#地点选择" class="headerlink" title="地点选择"></a>地点选择</h2><p>我的汇丰、中银香港、招商永隆都是在元朗开的,8点15先去中银元朗大厦排队,结束之后去汇丰,最后去的招商永隆,11点30左右全部搞定。</p><img src="https://img.laoda.de/i/2024/02/02/nalc6v-0.webp" alt="image-20240202140720182" style="zoom: 33%;" /><h3 id="中银香港"><a href="#中银香港" class="headerlink" title="中银香港"></a>中银香港</h3><p>开户地点:中银元朗分行</p><img src="https://img.laoda.de/i/2024/02/02/nhiiko-0.webp" alt="image-20240202142011495" style="zoom:50%;" /><p>无需存款,不用管理费,可以直接拿到卡。</p><p>8点我就到了,看到有四五个小姐姐在门口吃早餐,我也去排队了,心想居然还有人比我早,后来8点15左右她们进去了,原来是银行的工作人员 = =</p><img src="https://img.laoda.de/i/2024/02/02/n6s1o8-0.webp" alt="image-20240202140205637" style="zoom: 33%;" /><p>中间我跑到汇丰元朗大厦去看了一下(大概距离200米)</p><p>回来之后前面有两个人,到8点30左右排在我后面的人也渐渐多起来了,大概陆陆续续有8、9个人。</p><p>九点开门,取号,我是003,正好这边有三位客户经理。接待我的是一名小伙子,询问是开户,他带我到了他的工位那边,我直接掏出四件套给他,询问开户理由,我说炒港美股,之前有买过美债和英伟达的股票(我还额外打印了嘉信理财的对账单过去),全场很顺利。</p><p>资料录入完毕,需要他们的经理再来确认一下,刷一下工牌,然后就下卡了。</p><img src="https://img.laoda.de/i/2024/02/02/n8294s-0.webp" alt="image-20240202140318064" style="zoom:33%;" /><p>整体耗时35分钟左右。</p><p>客户经理表示无需存款,不过需要先去楼下的机器上激活一下,激活的方法就是查询一下余额。(这边需要等一会儿,我第一次插卡查看的时候提示在更新信息,等了两分钟再查看就OK了)</p><img src="https://img.laoda.de/i/2024/02/02/n82d2a-0.webp" alt="image-20240202140409093" style="zoom: 33%;" /><p>注意查询余额的机器和存钱的机器是分开的,查询余额的机器在门外,存钱的机器在门里头。</p><p>中银客户经理明确和我表示不用存钱,无管理费,不过每年最好动一动转一两笔钱。</p><p>之后会收到银行的满意度调研,客户经理强调一定要打10分,不然他不用干了 = = </p><img src="https://img.laoda.de/i/2024/02/03/6a37p-0.webp" alt="eb672b31374caedffbb6e2967f157111.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2024/02/03/6a0z9-0.webp" alt="bae08762b35a2c3f4ff2b8e593aa36c2.png" style="zoom:33%;" /><h3 id="汇丰one"><a href="#汇丰one" class="headerlink" title="汇丰one"></a>汇丰one</h3><p>开户地点:汇丰元朗大厦</p><img src="https://img.laoda.de/i/2024/02/02/nhpvve-0.webp" alt="image-20240202142046361" style="zoom:50%;" /><p>无需存款,不用管理费,一般可以直接拿到卡(我运气不好需要邮寄)</p><p>开完中银就来这边的汇丰了,注意汇丰元朗大厦对面也有一家中银香港,我对象是这边开的,客户经理要求存1000港币。</p><img src="https://img.laoda.de/i/2024/02/02/n70iui-0.webp" alt="image-20240202140244264" style="zoom: 33%;" /><p>汇丰这边说要开户,工作人员说要等大概3小时,现在人很多,我说先取个号吧,然后就坐电梯上了二楼(我们所在的是G层,一楼是卓越理财的,二楼是普通理财)</p><p>一进门,被震惊了,这边乱糟糟的,大家也不排队,都在围着客户经理。</p><p>我先和他说我要开户,然后他让我下载香港汇丰流动理财的app,然后点击“开立账户(繁体版)”填资料,填了一部分资料之后,有一个二维码需要客户经理用他的iPad给你扫一下才能继续填资料,全程基本上都是你自己在填东西,客户经理不问你开户理由,甚至不看你的过关小票。</p><p>注意这边如果你不小心退出了app,是需要全部从头再来的,我就不小心退出了,而且是两次 = =</p><p>扫描港澳通行证的时候,把手机和通行证给客户经理,让他帮你扫,顺利的话,填完就可以等下卡了,大概30分钟搞定。</p><p>当然你也可能遇到和我一样的悲催情况,最后一步不是提示成功,而是提示审核中。我问客户经理咋回事,他说这个的话就要人工了,我不信邪又重新填资料,提交了一次,最后一步的界面又变成了5个工作日内会有客户经理和我联系,看着边上的人一个一个都拿卡走了,很难受,没办法只能等人工,还好之前取了号的。</p><p>大概等了有一个半小时才到号,接待我的是一个小姐姐,看了我的资料说填的应该没问题,可以回去等等看,一般五个工作日之内就会收到邮件提示,然后会寄送卡片,需要自己本人签收卡片,并需要把卡片附带的回单寄回到汇丰这边,他们才会再给我寄密码函,我才能使用。</p><p>我问了下寄卡片用的是平邮还是挂号信,她说应该是挂号信。(有知道的麻烦评论区交流一下)</p><p>今天早上收到了汇丰的邮件,看样子应该是开户成功了,</p><img src="https://img.laoda.de/i/2024/02/02/nn116i-0.webp" alt="95d1d8cc8c394aad473371fba0a3b8fd.png" style="zoom:33%;" /><p>接下来就是等寄卡,然后激活,再申请master蓝狮子了,这部分后续更新。</p><p>关于触发人工审核,可能是因为名字有重名或者你通行证没拍好,或者是随机抽查,因为其实那天也有几个人和我一样的情况,一开始我还以为是我的手机解了BL锁的缘故 = =</p><p>所以综上,汇丰如果你顺利的话,半小时就能搞定,并且拿到ATM柜员机的红狮子卡,而且不用存钱,没有管理费。</p><h3 id="招商永隆"><a href="#招商永隆" class="headerlink" title="招商永隆"></a>招商永隆</h3><p>开户地点:香港元朗元朗安寧路 Man Yau Building</p><img src="https://img.laoda.de/i/2024/02/02/ngjzk8-0.webp" alt="image-20240202141849518" style="zoom:50%;" /><p>招商永隆在大陆就可以自己下载app填资料了(选择“全新客户网点开户”),来香港只是最后一步。</p><p>招商永隆的人很少,因为不存满1w港币,每个月会有120块的管理费。</p><p>本来有了中银香港和汇丰,这家我都不打算开了,但是因为先前资料也已经提交了,想想还是开了得了。</p><p>叫号很快,简单询问了一下开户理由,回答买港股美股,要求地址证明,我拿了招商银行的信用卡账单,因为我的是去银行机器上打的,左上角没有招行的logo,客户经理表示奇怪(其他人都有),我说我这边有银行的红章,可能他们的是网上下载打印的。</p><p>然后问我带钱了吗,需要存款,我说带了。</p><p>审核通过之后,重新取号存钱。把钱+通行证+app上的账户号码给存钱的工作人员即可。</p><p>招商永隆的卡需要自己在app上申请,寄的顺丰(听说是到付),我还没有申请。</p><p><del>内地金葵花用户可以免管理费,即使你没有存够1w港币。</del></p><p>内地金葵花可以要求永隆给你开成招商永隆金葵花账户,这样可以免管理费。</p><h3 id="ZA-BANK(虚拟银行,推荐开这一个就行其实)"><a href="#ZA-BANK(虚拟银行,推荐开这一个就行其实)" class="headerlink" title="ZA BANK(虚拟银行,推荐开这一个就行其实)"></a>ZA BANK(虚拟银行,推荐开这一个就行其实)</h3><p>这个很有意思,之前看了网上说到香港连上香港Wi-Fi或者流量就能开,我到了元朗就在巴士上兴冲冲开了,结果点到最后一步,提示我不在指定区域内 = = 需要再往市区靠一靠才能成功开通。</p><p>审核很快,可以自定义卡号,za coin积分能直接换成港币,还是不错的。</p><p>注册的时候填了朋友的邀请码,还拿到了一张10%的一个月定存加息券。</p><p>有需要的小伙伴开通的时候也可以用我的邀请码:<code>YG97D8</code> 这样俩人都能拿到一张10%的一个月定存加息券。</p><p>除此之外,还有蚂蚁银行、天星银行、livi 理慧银行,这三家纯在线银行可以用类似的方法开通,蚂蚁好像要你上次出入境的材料,需要去支付宝里下载一下,反正全程都有指引,很简单,审核都很快。(其实开多了也没啥用,存粹是坐巴士到尖沙咀太久了,闲着没事开的,我开了就没再登录过 = =)</p><p>livi 理慧银行他家有虚拟万事达借记卡,可以绑定微信和支付宝,200元一下免手续费,ZA Bank的话好像每笔都要手续费。</p><blockquote><p>za livi他们的卡消费外币(人民币美元这种)都有货转费,200免是支付宝的收费免。</p><p>如果你想内地消费直接全免手续费消费可以微信开个wechatpay hk,也就是香港钱包,这个消费是wechatpay hk转成港币后扣费,不会产生货转费,关注wechatpay hk公众号里面有开通方法。</p></blockquote><p>ZA Bank也可以申请实体卡,不过需要支付25港币。</p><h2 id="最后"><a href="#最后" class="headerlink" title="最后"></a>最后</h2><p>还发现了香港有直接买比特币和ETH的机器,不过当时还没开卡, 身上没钱 = =</p><img src="https://img.laoda.de/i/2024/02/02/nb3aok-0.webp" alt="image-20240202140932495" style="zoom:33%;" /><p>大家有任何问题欢迎评论区交流!</p>]]></content>
<summary type="html"><p>大A拉垮,上周趁着通行证签注快到期了去了趟香港,办了几张银行卡。</p>
<img src="https://img.laoda.de/i/2024/02/02/n66z67-0.webp" alt="image-20240202140109085" style="zoom</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="泛金融" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/%E6%B3%9B%E9%87%91%E8%9E%8D/"/>
<category term="中银香港" scheme="https://blog.laoda.de/tags/%E4%B8%AD%E9%93%B6%E9%A6%99%E6%B8%AF/"/>
<category term="汇丰one" scheme="https://blog.laoda.de/tags/%E6%B1%87%E4%B8%B0one/"/>
<category term="招商永隆" scheme="https://blog.laoda.de/tags/%E6%8B%9B%E5%95%86%E6%B0%B8%E9%9A%86/"/>
<category term="众安银行" scheme="https://blog.laoda.de/tags/%E4%BC%97%E5%AE%89%E9%93%B6%E8%A1%8C/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】搭建属于自己的个人相册——PhotoPrism</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-photoprism/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-photoprism/</id>
<published>2024-01-18T05:44:29.000Z</published>
<updated>2024-01-18T06:06:39.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>为什么需要搭建自己的相册,因为自己搭建的相册更具隐私性(不用担心谷歌相册里存了东西被删账号),并且这可以通过网页随时随地查看。虽然看似图床也有类似的功能,但是首先大多数图床不具备展示视频的功能,而且这个本就是为了作为相册而设计的,所以还有很多特色功能。根据官方介绍有强大的搜索功能,面部识别,地图和地点,相册分享,广泛的文件格式支持,支持高级元数据提取等。</p><p>总的来说是非常好用的。</p><img src="https://img.laoda.de/i/2023/12/11/10jigeq-0.webp" alt="4a24c9d915669c0258ecebd5a185ca49.png" style="zoom:50%;" /><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p><img src="https://img.laoda.de/i/2023/12/11/10jw745-0.webp" alt="1e0edcf2de71fc584c50a3aeb64e1fce.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/10jxmbv-0.webp" alt="d1a9c50019db76036b579feb198c4d7c.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/10jz7he-0.webp" alt="c09981c8baeb01426b16ab050570609f.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/10k0cm7-0.webp" alt="84dfec4c8dfc9800b6b6583dc8328ab2.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/10k2ua0-0.webp" alt="a47f9657259796685d8e8d68731d753c.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/10k4coh-0.webp" alt="3736921556c48b389bff280315eaed79.png"></p><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>官方GitHub地址:<a href="https://github.com/photoprism/photoprism/">https://github.com/photoprism/photoprism/</a><br>官方Demo:<a href="https://demo-zh.photoprism.app/">https://demo-zh.photoprism.app/</a><br>官方文档:<a href="https://docs.photoprism.app/getting-started">https://docs.photoprism.app/getting-started</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li><p>服务器:咕咕这边用的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)或者<a href="https://gao.ee/lca">莱卡云</a>的香港或者美国CN2 GIA</p></li><li><p>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</p></li><li><p>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</p></li><li><p>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p></li><li><p>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</p></li><li><p>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</p></li></ul><blockquote><p>服务器建议:在有更大的内存的服务器上运行。官方建议是4G,大于2G内存的添加SWAP后可尝试运行</p></blockquote><p>添加SWAP脚本:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && <span class="built_in">chmod</span> +x box.sh && clear && ./box.sh</span><br></pre></td></tr></table></figure><h2 id="5-搭建视频(以后有时间再录-)"><a href="#5-搭建视频(以后有时间再录-)" class="headerlink" title="5. 搭建视频(以后有时间再录 = =)"></a>5. 搭建视频(以后有时间再录 = =)</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:</p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:</p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/photoprism</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/photoprism</span><br><span class="line"></span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3.5'</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 示例 Docker Compose 配置文件,用于 PhotoPrism(Linux / AMD64)</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># 注意:</span></span><br><span class="line"><span class="comment"># - 在内存小于 4 GB 或设置了内存/交换空间限制的服务器上运行 PhotoPrism 可能会导致意外重启(“崩溃”),</span></span><br><span class="line"><span class="comment"># 例如,当索引器临时需要更多内存来处理大文件时。</span></span><br><span class="line"><span class="comment"># - 如果您在家庭网络之外的公共服务器上安装 PhotoPrism,请始终在安全的 HTTPS 反向代理(如 Traefik 或 Caddy)后面运行它。</span></span><br><span class="line"><span class="comment"># 否则,您的文件和密码将以明文传输,任何人,包括您的提供商、黑客和政府都可以截获:</span></span><br><span class="line"><span class="comment"># https://docs.photoprism.app/getting-started/proxies/traefik/</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># 安装指南:</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/docker-compose/</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/raspberry-pi/</span></span><br><span class="line"><span class="comment"># - https://www.photoprism.app/kb/activation</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># 故障排除清单:</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/troubleshooting/</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/troubleshooting/docker/</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/troubleshooting/mariadb/</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># CLI 命令:</span></span><br><span class="line"><span class="comment"># - https://docs.photoprism.app/getting-started/docker-compose/#command-line-interface</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># 所有命令在非 root 用户下运行时可能需要加上 "sudo" 前缀。</span></span><br><span class="line"><span class="comment"># 这将使得卷挂载中的家目录快捷方式 ~ 指向 /root。</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">photoprism:</span></span><br><span class="line"> <span class="comment">## 使用 photoprism/photoprism:preview 来测试预览版构建:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">photoprism/photoprism:latest</span></span><br><span class="line"> <span class="comment">## 在 PhotoPrism 配置正确并经过测试之前不要启用自动重启!</span></span><br><span class="line"> <span class="comment">## 如果服务陷入重启循环,这表明存在内存、文件系统、网络或数据库问题:</span></span><br><span class="line"> <span class="comment">## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors</span></span><br><span class="line"> <span class="comment"># restart: unless-stopped</span></span><br><span class="line"> <span class="attr">stop_grace_period:</span> <span class="string">10s</span></span><br><span class="line"> <span class="attr">depends_on:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">mariadb</span></span><br><span class="line"> <span class="attr">security_opt:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">seccomp:unconfined</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">apparmor:unconfined</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"8080:2342"</span> <span class="comment"># HTTP 端口(宿主机:容器)</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_ADMIN_USER:</span> <span class="string">"admin"</span> <span class="comment"># 管理员登录用户名</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_ADMIN_PASSWORD:</span> <span class="string">"insecure"</span> <span class="comment"># 初始管理员密码(8-72个字符)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_AUTH_MODE:</span> <span class="string">"password"</span> <span class="comment"># 认证模式(public,password)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_SITE_URL:</span> <span class="string">"http://localhost:2342/"</span> <span class="comment"># 服务器 URL 格式为 "http(s)://domain.name(:port)/(path)"</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_TLS:</span> <span class="string">"false"</span> <span class="comment"># 即使网站 URL 以 https:// 开头并且可用证书也禁用 HTTPS/TLS</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DEFAULT_TLS:</span> <span class="string">"true"</span> <span class="comment"># 如果没有其他证书可用,默认使用自签名 HTTPS/TLS 证书</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_ORIGINALS_LIMIT:</span> <span class="number">5000</span> <span class="comment"># 原始文件的大小限制,以 MB 为单位(提高高分辨率视频的限制)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_HTTP_COMPRESSION:</span> <span class="string">"gzip"</span> <span class="comment"># 提高传输速度和带宽利用率(none 或 gzip)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_LOG_LEVEL:</span> <span class="string">"info"</span> <span class="comment"># 日志级别:trace, debug, info, warning, error, fatal, 或 panic</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_READONLY:</span> <span class="string">"false"</span> <span class="comment"># 不修改原始目录(功能减少)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_EXPERIMENTAL:</span> <span class="string">"false"</span> <span class="comment"># 启用实验性功能</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_CHOWN:</span> <span class="string">"false"</span> <span class="comment"># 禁用在启动时通过 chmod 和 chown 更新存储权限</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_WEBDAV:</span> <span class="string">"false"</span> <span class="comment"># 禁用内置的 WebDAV 服务器</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_SETTINGS:</span> <span class="string">"false"</span> <span class="comment"># 禁用设置 UI 和 API</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_TENSORFLOW:</span> <span class="string">"false"</span> <span class="comment"># 禁用所有依赖 TensorFlow 的功能</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_FACES:</span> <span class="string">"false"</span> <span class="comment"># 禁用人脸检测和识别(需要 TensorFlow)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_CLASSIFICATION:</span> <span class="string">"false"</span> <span class="comment"># 禁用图像分类(需要 TensorFlow)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_VECTORS:</span> <span class="string">"false"</span> <span class="comment"># 禁用矢量图形支持</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DISABLE_RAW:</span> <span class="string">"false"</span> <span class="comment"># 禁用 RAW 图像的索引和转换</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_RAW_PRESETS:</span> <span class="string">"false"</span> <span class="comment"># 启用在转换 RAW 图像时应用用户预设(降低性能)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_JPEG_QUALITY:</span> <span class="number">85</span> <span class="comment"># 提高 JPEG 图像和缩略图的质量和文件大小的值(25-100)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DETECT_NSFW:</span> <span class="string">"false"</span> <span class="comment"># 自动将可能冒犯的照片标记为私有(需要 TensorFlow)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_UPLOAD_NSFW:</span> <span class="string">"true"</span> <span class="comment"># 允许上传可能冒犯的内容(没有 TensorFlow 无效)</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite 是一个不需要服务器的嵌入式数据库</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DATABASE_DRIVER:</span> <span class="string">"mysql"</span> <span class="comment"># 使用 MariaDB 10.5+ 或 MySQL 8+ 而不是 SQLite 以提高性能</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DATABASE_SERVER:</span> <span class="string">"mariadb:3306"</span> <span class="comment"># MariaDB 或 MySQL 数据库服务器(主机名:端口)</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DATABASE_NAME:</span> <span class="string">"photoprism"</span> <span class="comment"># MariaDB 或 MySQL 数据库架构名称</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DATABASE_USER:</span> <span class="string">"photoprism"</span> <span class="comment"># MariaDB 或 MySQL 数据库用户名</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_DATABASE_PASSWORD:</span> <span class="string">"insecure"</span> <span class="comment"># MariaDB 或 MySQL 数据库用户密码</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_SITE_CAPTION:</span> <span class="string">"AI-Powered Photos App"</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_SITE_DESCRIPTION:</span> <span class="string">""</span> <span class="comment"># 网站描述元信息</span></span><br><span class="line"> <span class="attr">PHOTOPRISM_SITE_AUTHOR:</span> <span class="string">""</span> <span class="comment"># 网站作者元信息</span></span><br><span class="line"> <span class="comment">## 视频转码(https://docs.photoprism.app/getting-started/advanced/transcoding/):</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_FFMPEG_ENCODER: "software" # H.264/AVC 编码器(software, intel, nvidia, apple, raspberry, 或 vaapi)</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_FFMPEG_SIZE: "1920" # 视频尺寸限制,以像素为单位(720-7680)(默认值:3840)</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_FFMPEG_BITRATE: "32" # 视频比特率限制,以 Mbit/s 为单位(默认值:50)</span></span><br><span class="line"> <span class="comment">## 首次启动时运行/安装(选项:update https gpu tensorflow davfs clitools clean):</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_INIT: "https gpu tensorflow"</span></span><br><span class="line"> <span class="comment">## 初始化后以非 root 用户身份运行(支持:0, 33, 50-99, 500-600, 以及 900-1200):</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_UID: 1000</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_GID: 1000</span></span><br><span class="line"> <span class="comment"># PHOTOPRISM_UMASK: 0000</span></span><br><span class="line"> <span class="comment">## 在初始化之前以非 root 用户身份启动(支持:0, 33, 50-99, 500-600, 以及 900-1200):</span></span><br><span class="line"> <span class="comment"># user: "1000:1000"</span></span><br><span class="line"> <span class="comment">## 与 FFmpeg 和 TensorFlow 共享硬件设备(可选):</span></span><br><span class="line"> <span class="comment"># devices:</span></span><br><span class="line"> <span class="comment"># - "/dev/dri:/dev/dri" # Intel QSV</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidia0:/dev/nvidia0" # Nvidia CUDA</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidiactl:/dev/nvidiactl"</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidia-modeset:/dev/nvidia-modeset"</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl"</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidia-uvm:/dev/nvidia-uvm"</span></span><br><span class="line"> <span class="comment"># - "/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools"</span></span><br><span class="line"> <span class="comment"># - "/dev/video11:/dev/video11" # Video4Linux 视频编码设备 (h264_v4l2m2m)</span></span><br><span class="line"> <span class="attr">working_dir:</span> <span class="string">"/photoprism"</span> <span class="comment"># 不要更改或移除</span></span><br><span class="line"> <span class="comment">## 存储文件夹:"~" 是您家目录的快捷方式,"." 是当前目录</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="comment"># "/host/folder:/photoprism/folder" # 示例</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"~/Pictures:/photoprism/originals"</span> <span class="comment"># 原始媒体文件(不要移除)</span></span><br><span class="line"> <span class="comment"># - "/example/family:/photoprism/originals/family" # 可以像这样挂载*额外的*媒体文件夹</span></span><br><span class="line"> <span class="comment"># - "~/Import:/photoprism/import" # *可选*可以从中将文件导入到原始文件的基础文件夹</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"./storage:/photoprism/storage"</span> <span class="comment"># *可写的*存储文件夹,用于缓存、数据库和旁路文件(不要移除)</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">## 数据库服务器(推荐)</span></span><br><span class="line"> <span class="comment">## 参见 https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql</span></span><br><span class="line"> <span class="attr">mariadb:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">mariadb:10.11</span></span><br><span class="line"> <span class="comment">## 如果 MariaDB 陷入重启循环,这表明存在内存或文件系统问题:</span></span><br><span class="line"> <span class="comment">## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">stop_grace_period:</span> <span class="string">5s</span></span><br><span class="line"> <span class="attr">security_opt:</span> <span class="comment"># 参见 https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">seccomp:unconfined</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">apparmor:unconfined</span></span><br><span class="line"> <span class="attr">command:</span> <span class="string">mariadbd</span> <span class="string">--innodb-buffer-pool-size=512M</span> <span class="string">--transaction-isolation=READ-COMMITTED</span> <span class="string">--character-set-server=utf8mb4</span> <span class="string">--collation-server=utf8mb4_unicode_ci</span> <span class="string">--max-connections=512</span> <span class="string">--innodb-rollback-on-timeout=OFF</span> <span class="string">--innodb-lock-wait-timeout=120</span></span><br><span class="line"> <span class="comment">## 永远不要将数据库文件存储在不可靠的设备上,如 USB 闪存盘、SD卡或共享网络文件夹:</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"./database:/var/lib/mysql"</span> <span class="comment"># 不要移除</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">MARIADB_AUTO_UPGRADE:</span> <span class="string">"1"</span></span><br><span class="line"> <span class="attr">MARIADB_INITDB_SKIP_TZINFO:</span> <span class="string">"1"</span></span><br><span class="line"> <span class="attr">MARIADB_DATABASE:</span> <span class="string">"photoprism"</span></span><br><span class="line"> <span class="attr">MARIADB_USER:</span> <span class="string">"photoprism"</span></span><br><span class="line"> <span class="attr">MARIADB_PASSWORD:</span> <span class="string">"insecure"</span></span><br><span class="line"> <span class="attr">MARIADB_ROOT_PASSWORD:</span> <span class="string">"insecure"</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">## Watchtower 自动升级服务(可选)</span></span><br><span class="line"> <span class="comment">## 参见 https://docs.photoprism.app/getting-started/updates/#watchtower</span></span><br><span class="line"> <span class="comment">## 通过 "COMPOSE_PROFILES=update docker compose up -d" 激活</span></span><br><span class="line"> <span class="attr">watchtower:</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">containrrr/watchtower</span></span><br><span class="line"> <span class="attr">profiles:</span> [<span class="string">"update"</span>]</span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">WATCHTOWER_CLEANUP:</span> <span class="string">"true"</span></span><br><span class="line"> <span class="attr">WATCHTOWER_POLL_INTERVAL:</span> <span class="number">7200</span> <span class="comment"># 每两小时检查一次更新</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"/var/run/docker.sock:/var/run/docker.sock"</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"~/.docker/config.json:/config.json"</span> <span class="comment"># 可选,如果您有 Docker Hub 账户用于认证</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>yaml源文件地址:<a href="https://dl.photoprism.app/docker/docker-compose.yml">https://dl.photoprism.app/docker/docker-compose.yml</a></p><p>根据自己需求更改相关的设置(比如账号密码等等)</p><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8080</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>8080</code>,示例填 <code>photoprism</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8080</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8080 <span class="comment">#查看 8080 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8080</code> 访问了。</p><p>但是这边我们必须先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>这边以photoprism为例子,element也是一样操作即可。</p><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/11/24/ik9r6h-0.webp" alt="c8d15ba5227c2308a0518b99afb9663d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikbf64-0.webp" alt="fae45bafe2e8deb8cdec4d0581b1bd9d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikcgse-0.webp" alt="2c42648f904d6a6bb84a5f25c2e463c0.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikmexm-0.webp" alt="354981f64863e9c5804a3e3a6f2e1df0.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8080</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 photoprism 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>photoprism</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8080/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-photoprism"><a href="#8-1-更新-photoprism" class="headerlink" title="8.1 更新 photoprism"></a>8.1 更新 photoprism</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/photoprism</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-photoprism"><a href="#8-2-卸载-photoprism" class="headerlink" title="8.2 卸载 photoprism"></a>8.2 卸载 photoprism</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/photoprism</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/photoprism <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><p>待补充</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/photoprism/photoprism/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/photoprism/photoprism/">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p><a href="https://github.com/photoprism/photoprism/">https://github.com/photoprism/photoprism/</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>为什么需要搭建自己的相册,因为自己搭建的相册更具隐私性(不用担心谷歌相册里存了东西被删账号),并且这可以通过网页随时随地查看</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="相册" scheme="https://blog.laoda.de/tags/%E7%9B%B8%E5%86%8C/"/>
<category term="照片管理" scheme="https://blog.laoda.de/tags/%E7%85%A7%E7%89%87%E7%AE%A1%E7%90%86/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】特斯拉(Tesla)车友必备!带可视化面板!10分钟搭建TeslaMate——一个强大的特斯拉数据记录器!|Grafana数据可视化</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-teslamate/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-teslamate/</id>
<published>2023-12-23T07:11:45.000Z</published>
<updated>2023-12-23T11:00:18.000Z</updated>
<content type="html"><![CDATA[<p>特斯拉Tesla引荐连接(买车可减免1750元):<a href="https://gao.ee/tesla">https://gao.ee/tesla</a></p><p>咕咕拿不到钱,但是可以拿到积分有机会能换个不锈钢吸杯或者是车钥匙,哈哈。</p><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>咕咕10月份下单的Tesla Model Y 长续航版本上周终于提车了。</p><p><img src="https://img.laoda.de/i/2023/12/23/pbpr7r.webp"></p><p>今天就来分享一个和特斯拉相关的Docker项目,一个强大的、自托管的特斯拉数据记录器——TeslaMate,可以全面分析特斯拉充电、续航、行驶里程等等的情况。</p><ul><li>使用Elixir编写</li><li>数据存储在Postgres数据库中</li><li>使用Grafana进行可视化和数据分析</li><li>车辆数据发布到本地MQTT代理</li></ul><h3 id="网页端:"><a href="#网页端:" class="headerlink" title="网页端:"></a>网页端:</h3><p><img src="https://img.laoda.de/i/2023/12/14/p6yx0j-0.webp" alt="829a1f5b75e0e82e026a2c5f67c0ec49.png"></p><h3 id="驾驶数据详情:"><a href="#驾驶数据详情:" class="headerlink" title="驾驶数据详情:"></a>驾驶数据详情:</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7101t-0.webp" alt="5763c0bf79922a36bc005dfbf49d1690.png"></p><p><img src="https://img.laoda.de/i/2023/12/14/p72cwg-0.webp" alt="b246c9cdef53da8a152a56b5a3e779ba.png"></p><h3 id="充电统计数据"><a href="#充电统计数据" class="headerlink" title="充电统计数据"></a>充电统计数据</h3><p><img src="https://img.laoda.de/i/2023/12/14/p73uzj-0.webp" alt="01f7953f0f87c7707b8fb2aa6540ba90.png"></p><h3 id="驾驶统计数据"><a href="#驾驶统计数据" class="headerlink" title="驾驶统计数据"></a>驾驶统计数据</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7f2uj-0.webp" alt="94cc31922b5ce267811e2c29fcb394a1.png"></p><h3 id="驾驶情况"><a href="#驾驶情况" class="headerlink" title="驾驶情况"></a>驾驶情况</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7gk3d-0.webp" alt="b08f4a75afa2477735c2b2094f32ec62.png"></p><h3 id="能耗"><a href="#能耗" class="headerlink" title="能耗"></a>能耗</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7hvmw-0.webp" alt="2491b944d6328bace746966bf947ea3f.png"></p><h3 id="车辆状态"><a href="#车辆状态" class="headerlink" title="车辆状态"></a>车辆状态</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7iv3k-0.webp" alt="afb3ba85c86df96f8f6b8ebc67e18ec2.png"></p><h3 id="充电情况"><a href="#充电情况" class="headerlink" title="充电情况"></a>充电情况</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7kf9a-0.webp" alt="53e9d099e54c3f6c4a1f9af89f692c77.png"></p><h3 id="充电记录"><a href="#充电记录" class="headerlink" title="充电记录"></a>充电记录</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7lzxc-0.webp" alt="dd4a3f3c1f04524e66a86da58789f8cb.png"></p><h3 id="电池静置耗电(Vampire-Drain)情况"><a href="#电池静置耗电(Vampire-Drain)情况" class="headerlink" title="电池静置耗电(Vampire Drain)情况"></a>电池静置耗电(Vampire Drain)情况</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7ndnz-0.webp" alt="8cff260d1b63f81f866d5f05965d4832.png"></p><h3 id="预计续航里程"><a href="#预计续航里程" class="headerlink" title="预计续航里程"></a>预计续航里程</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7ora7-0.webp" alt="ab38a6b4d2eec42ada288fbf913efd01.png"></p><h3 id="概览"><a href="#概览" class="headerlink" title="概览"></a>概览</h3><p><img src="https://img.laoda.de/i/2023/12/14/p7yika-0.webp" alt="df297890234e1dca75abc76117fe123b.png"></p><h3 id="更新情况"><a href="#更新情况" class="headerlink" title="更新情况"></a>更新情况</h3><p><img src="https://img.laoda.de/i/2023/12/14/p806l2-0.webp" alt="6cdee47954d7a8002d2014b2ae2caf20.png"></p><h3 id="终身驾驶地图"><a href="#终身驾驶地图" class="headerlink" title="终身驾驶地图"></a>终身驾驶地图</h3><p><img src="https://img.laoda.de/i/2023/12/14/p81b47-0.webp" alt="ec1e70e1bf6b7f438b24463a08a937b9.png"></p><h3 id="开过的地方"><a href="#开过的地方" class="headerlink" title="开过的地方"></a>开过的地方</h3><p><img src="https://img.laoda.de/i/2023/12/14/p82odf-0.webp" alt="7a2578721cf04147b1cf0e84510553e5.png"></p><h2 id="2-功能"><a href="#2-功能" class="headerlink" title="2. 功能"></a>2. 功能</h2><h3 id="仪表板"><a href="#仪表板" class="headerlink" title="仪表板"></a>仪表板</h3><ul><li>驾驶和充电报告</li><li>驾驶效率报告</li><li>消耗(净/毛)</li><li>充电能量增加与能量使用</li><li>电池静置耗电</li><li>预测的100%电量范围(电池退化)</li><li>充电统计</li><li>驾驶统计</li><li>已安装更新的历史记录</li><li>查看您的汽车何时在线或休眠</li><li>终身驾驶地图</li><li>访问过的地址</li></ul><h3 id="通用"><a href="#通用" class="headerlink" title="通用"></a>通用</h3><ul><li>高精度驾驶数据记录</li><li>无额外的电池静置耗电:汽车会尽快进入休眠状态</li><li>自动地址查找</li><li>易于集成到家庭助手(通过MQTT)</li><li>易于集成到Node-Red和Telegram(通过MQTT)</li><li>地理围栏功能,可创建自定义位置</li><li>支持每个特斯拉账户多辆车</li><li>充电成本跟踪</li><li>从TeslaFi和tesla-apiscraper导入</li></ul><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>官方GitHub地址:<a href="https://github.com/teslamate-org/teslamate">https://github.com/teslamate-org/teslamate</a></p><p>官方文档:<a href="https://docs.teslamate.org/docs/installation/docker">https://docs.teslamate.org/docs/installation/docker</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li><p>服务器:咕咕这边用的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)或者<a href="https://gao.ee/lca">莱卡云</a>的香港或者美国CN2 GIA</p></li><li><p>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</p></li><li><p>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</p></li><li><p>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p></li><li><p>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</p></li><li><p>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</p></li></ul><blockquote><p>服务器建议:1核1G即可</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/epjibyUPw3A">https://youtu.be/epjibyUPw3A</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1Fc411C7K7/">https://www.bilibili.com/video/BV1Fc411C7K7/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/teslamate</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/teslamate</span><br><span class="line"></span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">teslamate:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">teslamate/teslamate:latest</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ENCRYPTION_KEY=G1BgNWsb2B9U5owHrntD7g7S8hrAnTf</span> <span class="comment">#用一个安全的密钥来加密你的特斯拉API令牌</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_USER=teslamate</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_PASS=Zej19BtTE3Ydw12sgr1pdLQA9c</span> <span class="comment">#请输入您的安全数据库密码!</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_NAME=teslamate</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_HOST=database</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MQTT_HOST=mosquitto</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TZ=Asia/Shanghai</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">4000</span><span class="string">:4000</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./import:/opt/app/import</span></span><br><span class="line"> <span class="attr">cap_drop:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">all</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">database:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">postgres:15</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">POSTGRES_USER=teslamate</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">POSTGRES_PASSWORD=Zej19BtTE3Ydw12sgr1pdLQA9c</span> <span class="comment">#请输入您的安全数据库密码!</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">POSTGRES_DB=teslamate</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./teslamate-db:/var/lib/postgresql/data</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">grafana:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">teslamate/grafana:latest</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_USER=teslamate</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_PASS=Zej19BtTE3Ydw12sgr1pdLQA9c</span> <span class="comment">#请输入您的安全数据库密码!</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_NAME=teslamate</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DATABASE_HOST=database</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">3000</span><span class="string">:3000</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">teslamate-grafana-data:/var/lib/grafana</span></span><br><span class="line"></span><br><span class="line"> <span class="attr">mosquitto:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">eclipse-mosquitto:2</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">always</span></span><br><span class="line"> <span class="attr">command:</span> <span class="string">mosquitto</span> <span class="string">-c</span> <span class="string">/mosquitto-no-auth.conf</span></span><br><span class="line"> <span class="comment"># ports:</span></span><br><span class="line"> <span class="comment"># - 1883:1883</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./mosquitto-conf:/mosquitto/config</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./mosquitto-data:/mosquitto/data</span></span><br><span class="line"></span><br><span class="line"><span class="attr">volumes:</span></span><br><span class="line"> <span class="attr">teslamate-grafana-data:</span></span><br></pre></td></tr></table></figure><p>简单说一下:</p><ul><li><code>ENCRYPTION_KEY</code>和<code>DATABASE_PASS</code>以及<code>POSTGRES_PASSWORD</code>大家记得自己更改密码(可以用之前分享过的<a href="https://blog.laoda.de/archives/docker-compose-install-vaultwarden/?highlight=bitwarden">Vaultwarden</a>来生成,更方便一些~)</li></ul><img src="https://img.laoda.de/i/2023/12/14/p89kh8-0.webp" alt="d4be206fbee7cbfa6cfdf83e922eaee6.png" style="zoom:33%;" /><blockquote><p>推荐阅读:<a href="https://blog.laoda.de/archives/docker-compose-install-vaultwarden">【好玩儿的 Docker 项目】2023 重制版本!10 分钟搭建一个专属的密码管理工具 ——Vaultwarden</a></p></blockquote><p>注意,密码的=后面不要有空格!</p><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>4000</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>4000</code>,示例填 <code>teslamate</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/12/14/p8keug-0.webp" alt="3ab1cbc57794569ca3ad61cb983871a1.png" style="zoom:33%;" /><p>此外,我们还要添加<code>3000</code>,因为要用Grafana可视化我们的数据</p><img src="https://img.laoda.de/i/2023/12/14/p8lvt6-0.webp" alt="1da0f0c0253f4dec31f492e38be10dcd.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>4000</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:4000 <span class="comment">#查看 4000 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>4001</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:4000</code> 和<code>http://ip:3000</code>访问了。</p><p>其中<code>http://ip:3000</code> 默认的登陆账号和密码均为<code>admin</code>,首次登陆之后会要求你重新设置一个密码。</p><p>如果你是部署在内网环境中(比如家里的NAS或者树莓派上),那就可以看是玩耍了!</p><p>不过这边我们是部署在服务器上的,所以我们需要再搞一个域名,给俩网页都做https,并且要给<code>http://ip:4000</code>做一个简单的web验证,让我们的访问更加安全!</p><p>这边我们就用到了反向代理这个概念!(不知道的可以看一下这篇文章:<a href="https://blog.laoda.de/archives/nginxproxymanager/index.html">【Docker 系列】一个反向代理神器 ——Nginx Proxy Manager</a>)</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图(这边以<code>4000</code>这个端口为例子,<code>3000</code>也是一样做一遍):</p><img src="https://img.laoda.de/i/2023/11/24/ik9r6h-0.webp" alt="c8d15ba5227c2308a0518b99afb9663d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikbf64-0.webp" alt="fae45bafe2e8deb8cdec4d0581b1bd9d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikcgse-0.webp" alt="2c42648f904d6a6bb84a5f25c2e463c0.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikmexm-0.webp" alt="354981f64863e9c5804a3e3a6f2e1df0.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>4000</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 teslamate 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>teslamate</code> 所在的服务器 IP 就行。</p><p>然后你就可以用诸如:<code>tesla.gugu.ovh</code>和<code>grafana.gugu.ovh</code>来访问了。</p><img src="https://img.laoda.de/i/2023/12/14/p8pibs-0.webp" alt="58a2d70da026d666d396316b36f85612.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/14/p8s01h-0.webp" alt="cdb79be54f9eaf3772589cfe539c075c.png" style="zoom: 33%;" /><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:4000/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><p>后台:</p><p><img src="https://img.laoda.de/i/2023/12/23/plrhbv-0.webp" alt="444d43635106faa01c51e9798dc17932.png"></p><p>如果发现右上角没有<code>控制台</code>,可以在<code>设置</code>里面填上Grafana的地址</p><p><img src="https://img.laoda.de/i/2023/12/14/phlr3i-0.webp" alt="image-20231214154120730"></p><p>设置总览:</p><p><img src="https://img.laoda.de/i/2023/12/23/pltbt5-0.webp" alt="f4fd8b65732646d43714cf7d4fbc8428.png"></p><p><img src="https://img.laoda.de/i/2023/12/23/pluo32-0.webp" alt="89527d819701cc5574a2403da8a051e6.png"></p><p>进入休眠模式,可以省电,就是那个电池静置耗电(Vampire Drain)情况。</p><h3 id="8-1-更新-teslamate"><a href="#8-1-更新-teslamate" class="headerlink" title="8.1 更新 teslamate"></a>8.1 更新 teslamate</h3><blockquote><p>项目最近更新比较频繁,建议大家及时跟着更新。</p></blockquote><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/teslamate</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-teslamate"><a href="#8-2-卸载-teslamate" class="headerlink" title="8.2 卸载 teslamate"></a>8.2 卸载 teslamate</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/teslamate</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/teslamate <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h3 id="8-3-获取Tesla的令牌"><a href="#8-3-获取Tesla的令牌" class="headerlink" title="8.3 获取Tesla的令牌"></a>8.3 获取Tesla的令牌</h3><p>第一次登陆之后,你会发现需要一个令牌和刷新令牌。</p><img src="https://img.laoda.de/i/2023/12/14/p8uw2s-0.webp" alt="58a2d70da026d666d396316b36f85612.png" style="zoom:33%;" /><p>这个需要你下载对应的app然后登陆你的特斯拉账号来获取。</p><img src="https://img.laoda.de/i/2023/12/14/p8w9b1-0.webp" alt="1a87add0ac09869864559cdcb5d2f1e2.png" style="zoom:33%;" /><p>文档地址:<a href="https://docs.teslamate.org/docs/faq/#how-to-generate-your-own-tokens">https://docs.teslamate.org/docs/faq/#how-to-generate-your-own-tokens</a></p><p>这边我是Mac,可以在App Store下载:</p><p><img src="https://img.laoda.de/i/2023/12/14/p97b9t-0.webp" alt="2cc34ccdeb04ad1c13d8fc8ef062d1d1.png"></p><p>如果你是 Windows或者Linux的用户,可以在这边下载:<a href="https://github.com/adriankumpf/tesla_auth/releases">https://github.com/adriankumpf/tesla_auth/releases</a></p><p>对应的app</p><p><img src="https://img.laoda.de/i/2023/12/14/p98hjw-0.webp" alt="2751172e021774828a8715dc42d16639.png"></p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><h3 id="9-1-添加简单的网页验证"><a href="#9-1-添加简单的网页验证" class="headerlink" title="9.1 添加简单的网页验证"></a>9.1 添加简单的网页验证</h3><p>当你第一次成功用令牌登陆网页之后,你会发现之后你再次输入这个域名,默认是直接登陆的状态,这个时候就需要我们来给这个网页做一个HTTP Basic Auth,就是一个简单的登陆验证了。</p><p>这边我们还是用NPM来举例子。</p><img src="https://img.laoda.de/i/2023/12/14/p9afio-0.webp" alt="7d66c06ae2c10ef0cea579d4ec171a1c.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/14/p9c3ff-0.webp" alt="5d828982235c0ccbeba1c4080f2c84e2.png" style="zoom:33%;" /><p>这一步的名字可以随便取,这边我以<code>tesla</code>为例子:</p><img src="https://img.laoda.de/i/2023/12/14/p9dl2d-0.webp" alt="9b36a3d40aadf524ed3442724b7f5aed.png" style="zoom:33%;" /><p>这一步先点一下<code>add</code>,再来设置一个用户和密码:</p><img src="https://img.laoda.de/i/2023/12/14/p9ewn3-0.webp" alt="b5cf8e0149ec6068a4c5139535dd631a.png" style="zoom:33%;" /><p>然后点击保存即可</p><img src="https://img.laoda.de/i/2023/12/14/p9gd2h-0.webp" alt="81b5c217be3a8da09786dd36cac8b799.png" style="zoom:33%;" /><p>这个时候会出现这个:</p><p><img src="https://img.laoda.de/i/2023/12/14/p9qdqt-0.webp" alt="0f83a01af85c046d2752444c22af5185.png"></p><p>回到这边:</p><img src="https://img.laoda.de/i/2023/12/14/p9s1gd-0.webp" alt="7f305b2f763f8ad3ba867f38c57fe9ad.png" style="zoom:33%;" /><p>再这边下拉选项中选择tesla</p><img src="https://img.laoda.de/i/2023/12/14/p9tlbh-0.webp" alt="725ac81d79df7ec87356d1dd1a4d27e6.png" style="zoom:33%;" /><p>再点击保存即可!</p><img src="https://img.laoda.de/i/2023/12/14/p9v8n0-0.webp" alt="418d84873f34728e9ebb9c196069bef9.png" style="zoom:33%;" /><p>这样当你登陆的时候就会出现一个登陆提示框:</p><img src="https://img.laoda.de/i/2023/12/14/p9wtmi-0.webp" alt="be69fc171ea27285ad92189cc3c30657.png" style="zoom:33%;" /><p>只有输入了正确的账号和密码才能登陆了。</p><p>如果输错,会提示:</p><img src="https://img.laoda.de/i/2023/12/14/p9ycny-0.webp" alt="12f3129ebe1c040002988cc83a6bfaea.png" style="zoom:33%;" /><h2 id="10-FAQ(常见问题解答)"><a href="#10-FAQ(常见问题解答)" class="headerlink" title="10. FAQ(常见问题解答)"></a>10. FAQ(常见问题解答)</h2><h3 id="会不会频繁的唤醒车机呢?导致耗电增多?"><a href="#会不会频繁的唤醒车机呢?导致耗电增多?" class="headerlink" title="会不会频繁的唤醒车机呢?导致耗电增多?"></a>会不会频繁的唤醒车机呢?导致耗电增多?</h3><p>答:用的官方streaming API,不会无故唤醒和耗电,放心使用</p><h3 id="为什么Grafana中没有显示消耗值?"><a href="#为什么Grafana中没有显示消耗值?" class="headerlink" title="为什么Grafana中没有显示消耗值?"></a>为什么Grafana中没有显示消耗值?</h3><p>特斯拉API没有返回行程的消耗值。为了能够显示值,TeslaMate会根据记录的(充电)数据估算消耗。在首次估算可以显示之前至少需要两次充电会话。充电会话必须超过10分钟且电量状态少于95%。每次未来的充电会话都会轻微提高估算的准确性,这会追溯应用到所有数据。</p><h3 id="车辆没有进入睡眠模式"><a href="#车辆没有进入睡眠模式" class="headerlink" title="车辆没有进入睡眠模式"></a>车辆没有进入睡眠模式</h3><p>带有媒体控制单元版本1(MCU1)的汽车需要某些设置才能入睡。在2018年3月之前生产的Model S和Model X配备了MCU1单元,这也可以从软件 -> 额外车辆信息中查看。如果“娱乐处理器”是“NVIDIA Tegra”,则车辆配备了MCU1。</p><p>启用MCU1的睡眠模式所需的设置是:</p><p>‘显示’ -> ‘节能’ -> 开启<br>‘显示’ -> ‘始终连接’ -> 未勾选<br>‘安全与保安’ -> ‘车舱过热保护’ -> 关闭<br>通过这些设置,MCU1车辆应在不活动约15分钟后入睡。</p><p>注意!如果您同时使用其他数据记录器,如TeslaFi,睡眠尝试可能会失败,因为其他数据记录器将使汽车保持唤醒状态。特别是调用车辆数据API将重置汽车的不活动计时器。</p><h2 id="11-其他项目"><a href="#11-其他项目" class="headerlink" title="11. 其他项目"></a>11. 其他项目</h2><p>基于这个TeslaMate,还有其他很多有意思的项目,有兴趣的小伙伴可以自行研究一下:<a href="https://docs.teslamate.org/docs/projects">https://docs.teslamate.org/docs/projects</a></p><p>其中一个<a href="github.com/JakobLichterfeld/TeslaMate_Telegram_Bot">TeslaMate_Telegram_Bot</a>应该是结合telegram的机器人推送特斯拉系统更新的一个项目,有机会打算试试看。</p><h2 id="12-结尾"><a href="#12-结尾" class="headerlink" title="12. 结尾"></a>12. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/teslamate-org/teslamate/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/teslamate-org/teslamate">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p>官方GitHub地址:<a href="https://github.com/teslamate-org/teslamate">https://github.com/teslamate-org/teslamate</a></p><p>官方文档:<a href="https://docs.teslamate.org/docs/installation/docker">https://docs.teslamate.org/docs/installation/docker</a></p>]]></content>
<summary type="html"><p>特斯拉Tesla引荐连接(买车可减免1750元):<a href="https://gao.ee/tesla">https://gao.ee/tesla</a></p>
<p>咕咕拿不到钱,但是可以拿到积分有机会能换个不锈钢吸杯或者是车钥匙,哈哈。</p>
<h2 id="</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="Model Y" scheme="https://blog.laoda.de/tags/Model-Y/"/>
<category term="特斯拉" scheme="https://blog.laoda.de/tags/%E7%89%B9%E6%96%AF%E6%8B%89/"/>
<category term="Tesla" scheme="https://blog.laoda.de/tags/Tesla/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】支持图片识别+语音输入!10分钟搭建无门槛ChatGPT WEB应用——LobeChat,随时随地使用ChatGPT!|GPT-4模型</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-lobechat/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-lobechat/</id>
<published>2023-12-12T01:29:57.000Z</published>
<updated>2023-12-12T01:51:26.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>之前给大家介绍过<a href="https://blog.laoda.de/archives/docker-compose-install-chatgpt-next-web/index.html">搭建一个私人 ChatGPT 网页应用 ——ChatGPT Next Web</a>,让你随时随地方便使用 ChatGPT!</p><p>今天我们再来介绍一个更高级的版本,除了可以免注册,免代理,随时随地访问之外,它还支持语音输入输出,识别图像信息的功能!</p><p><img src="https://img.laoda.de/i/2023/12/11/115z3t4-0.webp" alt="0ef3bc23e1e9c3ac3b5fbcc68da9814e.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/1160kb4-0.webp" alt="2364d745adc04f3e329a952f9d707621.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/11621qe-0.webp" alt="6f7d03a08c0b21c55fc1e5bbaddb5b08.png"></p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p><img src="https://img.laoda.de/i/2023/12/11/1163hbm-0.webp" alt="e10edd2cd473b02e0bfdf71f86ef8262.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/1164ub2-0.webp" alt="9785c90a76ad3f9df2f54154e005d061.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/116etpd-0.webp" alt="1d3b8baa3ce2fb1e57601b097bc3d2da.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/116fshn-0.webp" alt="28edb408610cf90c815a211b62255b91.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/116h1ie-0.webp" alt="601f28a330f9804ee051bdcce06227ce.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/116i8lj-0.webp" alt="b8e4ebbbca39b67bbebed08f5b02c6f7.png"></p><h3 id="2-1-视觉模型支持"><a href="#2-1-视觉模型支持" class="headerlink" title="2.1 视觉模型支持"></a>2.1 视觉模型支持</h3><p><img src="https://img.laoda.de/i/2023/12/11/116jsnq-0.webp" alt="7c5ce1c4943528373ad164124529e0f1.png"></p><p>LobeChat现在支持OpenAI最新的 <code>gpt-4-vision</code> 模型,具备视觉识别能力,这是一种能够感知视觉内容的多模态智能。用户可以轻松上传或拖放图片到对话框中,代理将能够识别图片内容,并基于此进行智能对话,创造更智能、更多样化的聊天场景。</p><p>这一功能开启了新的互动方式,让交流超越文本,包含丰富的视觉元素。无论是在日常使用中分享图片,还是在特定行业内解读图片,该代理提供了卓越的对话体验。</p><h3 id="2-2-TTS和STT语音识别"><a href="#2-2-TTS和STT语音识别" class="headerlink" title="2.2 TTS和STT语音识别"></a>2.2 TTS和STT语音识别</h3><p><img src="https://img.laoda.de/i/2023/12/11/116lgb2-0.webp" alt="9fc73c2258e37423188bec7af03307c5.png"></p><p>LobeChat支持文本到语音(TTS)和语音到文本(STT)技术,使我们的应用程序能够将文本消息转换成清晰的语音输出,允许用户与我们的会话代理进行交互,就像他们在与真人交谈一样。用户可以从多种声音中选择一种与代理搭配。</p><p>此外,TTS为那些偏好听觉学习或希望在忙碌时接收信息的人提供了一个极佳的解决方案。在LobeChat中,我们精心挑选了一系列高质量的语音选项(OpenAI Audio、Microsoft Edge Speech),以满足来自不同地区和文化背景用户的需求。用户可以选择适合他们个人喜好或特定场景的语音,从而获得个性化的沟通体验。</p><h3 id="2-3-函数调用插件系统"><a href="#2-3-函数调用插件系统" class="headerlink" title="2.3 函数调用插件系统"></a>2.3 函数调用插件系统</h3><p><img src="https://img.laoda.de/i/2023/12/11/116mrs9-0.webp" alt="d2791c3b10eae217097db702e1bb61c5.png"></p><p>LobeChat的插件生态系统是其核心功能的重要扩展,极大地增强了ChatGPT的实用性和灵活性。通过利用插件,ChatGPT可以执行实时信息检索和处理,例如自动获取最新新闻头条,为用户提供即时且相关的信息。此外,这些插件不仅限于新闻聚合,还可以扩展到其他实用功能,如快速文档检索、电子商务平台数据访问以及各种第三方服务。</p><h3 id="2-4-自带很多Prompt-“角色”"><a href="#2-4-自带很多Prompt-“角色”" class="headerlink" title="2.4 自带很多Prompt “角色”"></a>2.4 自带很多Prompt “角色”</h3><p><img src="https://img.laoda.de/i/2023/12/11/116nzuw-0.webp" alt="18dbe6276da4375dff7df2c7c8d182ac.png"></p><p>在LobeChat代理市场中,创作者可以发现一个充满活力和创新的社区,这里汇集了众多设计精良的代理,它们不仅在工作场景中扮演着重要角色,还在学习过程中提供了极大的便利。我们的市场不仅仅是一个展示平台,也是一个协作空间。在这里,每个人都可以贡献自己的智慧,并分享他们开发的代理。</p><h3 id="支持PWA"><a href="#支持PWA" class="headerlink" title="支持PWA"></a>支持PWA</h3><p><img src="https://img.laoda.de/i/2023/12/11/116pl1i-0.webp" alt="1b03179ab7dabd91af509717fdcaef2c.png"></p><p>我们深刻理解在当今多设备环境中为用户提供无缝体验的重要性。因此,我们采用了渐进式网页应用(PWA)技术,这是一种现代网络技术,它使网页应用的体验接近于原生应用。</p><p>通过PWA,LobeChat能够在桌面和移动设备上提供高度优化的用户体验,同时保持其轻量级和高性能的特点。在视觉和感觉方面,我们还精心设计了界面,确保它与原生应用无法区分,提供流畅的动画、响应式布局,并适应不同设备屏幕分辨率。</p><h3 id="2-5-移动设备适配"><a href="#2-5-移动设备适配" class="headerlink" title="2.5 移动设备适配"></a>2.5 移动设备适配</h3><h3 id="2-6-各种主题模式选择"><a href="#2-6-各种主题模式选择" class="headerlink" title="2.6 各种主题模式选择"></a>2.6 各种主题模式选择</h3><p>…</p><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>官方GitHub地址:<a href="https://github.com/lobehub/lobe-chat">https://github.com/lobehub/lobe-chat</a><br>官方Demo:<a href="https://chat-preview.lobehub.com/">https://chat-preview.lobehub.com</a><br>官方文档:<a href="https://github.com/lobehub/lobe-chat/wiki">https://github.com/lobehub/lobe-chat/wiki</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li><p>服务器:咕咕这边用的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)或者<a href="https://gao.ee/lca">莱卡云</a>的香港或者美国CN2 GIA</p></li><li><p>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</p></li><li><p>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</p></li><li><p>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p></li><li><p>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</p></li><li><p>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</p></li></ul><blockquote><p>服务器建议:1核1G即可,不要用大陆的服务器</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/rqVLzs2mX20">https://youtu.be/rqVLzs2mX20</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV15N4y1h7zr/">https://www.bilibili.com/video/BV15N4y1h7zr/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/lobe</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/lobe</span><br><span class="line"></span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">lobe-chat:</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8080</span><span class="string">:3210</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">OPENAI_API_KEY=sk-L3EZKQX7fT9My50l9siUT3BlbkFJVqaB1zIrdO1rdAVyCCDXlu</span> <span class="comment"># 你的API Key</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ACCESS_CODE=gugugpt</span> <span class="comment"># 设置一个密码</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">lobehub/lobe-chat</span></span><br></pre></td></tr></table></figure><p>简单说一下:</p><ul><li><code>OPENAI_API_KEY</code>可以在这边获取: <a href="https://platform.openai.com/api-keys">https://platform.openai.com/api-keys</a> (如果你还没有注册过ChatGPT,没有申请过ChatGPT的API,可以看这篇文章:<a href="https://blog.laoda.de/archives/chatgpt-plus-depay/">【保姆级教程】从零开通 ChatGPT Plus</a>)</li><li><code>ACCESS_CODE</code>自己随意取一个密码,以后想要使用的人只要有这个密码即可使用,可以不用填API KEY(就用你的这个API KEY了)</li></ul><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8080</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>8080</code>,示例填 <code>lobe</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8080</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8080 <span class="comment">#查看 8080 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8080</code> 访问了。</p><p>但是这边我们必须先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/11/24/ik9r6h-0.webp" alt="c8d15ba5227c2308a0518b99afb9663d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikbf64-0.webp" alt="fae45bafe2e8deb8cdec4d0581b1bd9d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikcgse-0.webp" alt="2c42648f904d6a6bb84a5f25c2e463c0.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikmexm-0.webp" alt="354981f64863e9c5804a3e3a6f2e1df0.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8080</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 lobe 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>lobe</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8080/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-lobe"><a href="#8-1-更新-lobe" class="headerlink" title="8.1 更新 lobe"></a>8.1 更新 lobe</h3><blockquote><p>项目最近更新比较频繁,建议大家及时跟着更新。</p></blockquote><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/lobe</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-lobe"><a href="#8-2-卸载-lobe" class="headerlink" title="8.2 卸载 lobe"></a>8.2 卸载 lobe</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/lobe</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/lobe <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><p>1、如果你要使用读图功能,需要使用<code>gpt-4-vision-preview</code>这个模型</p><p><img src="https://img.laoda.de/i/2023/12/11/117152y-0.webp" alt="60b2edc89ac78dfe2844be8ea01d8111.png"></p><p>2、语音输入,如果设置关闭了<code>自动结束语音识别</code>说完话记得再点一下图标。</p><p><img src="https://img.laoda.de/i/2023/12/11/117274n-0.webp" alt="0a98ea424ad65a1e305a5d222a4c5fa5.png"></p><p><img src="https://img.laoda.de/i/2023/12/11/1173f6i-0.webp" alt="e8d118e23d24e81025b595c5ed9b72c4.png"></p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/lobehub/lobe-chat/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/lobehub/lobe-chat">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p>官方GitHub地址:<a href="https://github.com/lobehub/lobe-chat">https://github.com/lobehub/lobe-chat</a><br>官方Demo:<a href="https://chat-preview.lobehub.com/">https://chat-preview.lobehub.com</a><br>官方文档:<a href="https://github.com/lobehub/lobe-chat/wiki">https://github.com/lobehub/lobe-chat/wiki</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>之前给大家介绍过<a href="https://blog.laoda.de/archives/docker-compose</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="ChatGPT" scheme="https://blog.laoda.de/tags/ChatGPT/"/>
<category term="OpenAI" scheme="https://blog.laoda.de/tags/OpenAI/"/>
<category term="GPT-4" scheme="https://blog.laoda.de/tags/GPT-4/"/>
</entry>
<entry>
<title>红米Note 11T Pro刷机分享!国行MIUI刷欧版EEA无坑版完整教程分享(附一周使用体验)</title>
<link href="https://blog.laoda.de/archives/redmi-11t-pro-to-poco-x4-gt-eea-version/"/>
<id>https://blog.laoda.de/archives/redmi-11t-pro-to-poco-x4-gt-eea-version/</id>
<published>2023-12-03T01:56:12.000Z</published>
<updated>2024-01-22T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="更新"><a href="#更新" class="headerlink" title="更新"></a>更新</h2><p>2024年1月23日更新</p><p>目前红米Note12 Turbo欧洲版本的已经提供澎湃OS(HyperOS)的ROM,咕咕又买了一个12Turobo,已经成功刷机!需要注意的是刷机成功后无法像之前11T Pro那样通过开启飞行模式跳过谷歌验证了,所以最好你先搞个软路由,可以科学,链接Wi-Fi之后进行谷歌验证。</p><p>PS:最近xiaomi官方的ROM刷机包下载速度慢的离谱,如果遇到慢的,咕咕这边提供了红米Note12 Turbo欧洲版本澎湃OS(HyperOS)的ROM:<a href="https://share.gugu.ovh/local/%E5%85%AC%E5%85%B1%E6%96%87%E4%BB%B6%E5%A4%B9/%E5%B0%8F%E7%B1%B3ROM">点击下载</a>(marble_eea_global_images_OS1.0.4.0这个)</p><h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>一直以来我觉得安卓和IOS相比,就是垃圾,现在我发现我错了。</p><p>是国行安卓和IOS比,就是垃圾,类原生安卓和IOS还是有一战之力的。 </p><p>IOS有App Store来保证软件的质量,安卓也有Google play来保证软件的质量。某种程度上,安卓的一些操作更符合用户习惯(比如两侧轻滑返回上一页)</p><p>对于不打游戏,平时也基本很少拍照拍视频的我来说,1299的红米Note 11T Pro刷完EEA版本(欧版)之后,我甚至觉得它比我10999的iPhone 14 Pro更好用(信号更好了,续航更久了)。在用了一周之后,我已经决定把主力机换成了这台红米。我相信它至少还可以用3年(256G稍微有点小,但是我有2T的Google One和1T的one drive,实在不行换那个顶配的红米12T Turbo)。</p><p>关键它真的,没广告!很清爽!</p><p>这期就和大家分享一下我的红米Note 11T Pro的刷机经验和刷机后一周的使用体验。(我的iPhone 14 Pro已经吃灰了 = =)</p><h2 id="建议结合视频观看"><a href="#建议结合视频观看" class="headerlink" title="建议结合视频观看"></a>建议结合视频观看</h2><p>YouTube:<a href="https://youtu.be/Jw284_1oPBo">https://youtu.be/Jw284_1oPBo</a></p><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1sw411h7go/">https://www.bilibili.com/video/BV1sw411h7go/</a></p><h2 id="1-刷机是什么?"><a href="#1-刷机是什么?" class="headerlink" title="1. 刷机是什么?"></a>1. 刷机是什么?</h2><p>维基百科解释:</p><blockquote><p>刷机,是指安装官方或经过修改的软件系统,以进行升级或自定义。早期刷机主要针对摩托罗拉的MontaVista Linux和诺基亚的塞班操作系统,随着塞班系统的式微,刷机重心来到Android系统。 在2010年代,Android智能手机刚刚兴起时,刷机一度十分流行,并催生出大量个人定制ROM和相关软件。</p><p>2010年到2014年期间,诞生了MIUI、魔趣、乐蛙等第三方Android ROM。2017年,手机产商开始收紧Bootloader权限解锁的权限。其中,华为更是全面停止BL解锁服务,无法解锁BL,意味着无法刷机,小米选择延长解BL锁的时间,三星则是物理熔断并失去保修。随着官方ROM的完善,也使得部分刷机爱好者退出。</p></blockquote><h2 id="2-为什么要刷机?"><a href="#2-为什么要刷机?" class="headerlink" title="2. 为什么要刷机?"></a>2. 为什么要刷机?</h2><blockquote><p>刷机指通过技术手段更换智能设备自带的操作系统或应用程序,从而更改系统版本、修复系统错误或满足个性化需求。刷机所采用的手段与资源可能来自产品官方,也可能来自第三方研制。</p></blockquote><p>对咕咕来说,刷机的目的很简单。</p><ul><li>去广告</li><li>去反诈APP</li></ul><p>咕咕把家里的一台Mate 20 Pro升级到了鸿蒙系统,对着B站去广告教程,搞了大概十多分钟,才勉强让手机变得清爽一点的;红米系统也是一堆广告。</p><blockquote><p>《简单几步关闭鸿蒙OS系统广告,华为、老荣耀都适用》<br>:<a href="https://www.bilibili.com/video/BV1Mg4y1n7Bg">https://www.bilibili.com/video/BV1Mg4y1n7Bg</a></p><p>《小米、红米彻底告别广告,还你一个纯净系统》:<a href="https://www.bilibili.com/video/BV1aw411T7rZ/">https://www.bilibili.com/video/BV1aw411T7rZ/</a></p></blockquote><h2 id="3-刷机存在什么风险?"><a href="#3-刷机存在什么风险?" class="headerlink" title="3. 刷机存在什么风险?"></a>3. 刷机存在什么风险?</h2><p>以下同样来自维基百科:</p><blockquote><p>刷机时因为操作不当导致系统无法开机,其次是安装的ROM和手机硬件不兼容导致部分功能丢失(人脸识别、快充等),如果刷入的ROM包含有恶意代码或者后门程序,可能会对用户造成经济损失、隐私泄露等风险,解锁BL、刷机和ROOT会使手机失去保修服务,已经解锁BL或刷入第三方ROM的手机丢失后,很难使用官方的查找模式找回手机,因为盗窃者可以刷入第三方recovery,然后再刷入第三方ROM包来规避查找模式,导致找回手机的难度增加。</p><p>部分官改ROM作者为了防止偷包,在ROM包中加入后门和恶意代码,可以远程对刷入ROM包的手机进行格式化,格式化后的手机不仅数据丢失,主板的字库和分区也会损坏,只有售后才能修复。</p></blockquote><table><thead><tr><th align="center">手机品牌</th><th align="center">是否支持解锁BL</th><th align="center">是否支持保修</th><th align="center">备注</th></tr></thead><tbody><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E5%B0%8F%E7%B1%B3%E6%89%8B%E6%9C%BA">小米</a>/<a href="https://zh.wikipedia.org/wiki/%E7%B4%85%E7%B1%B3_(%E7%A7%91%E6%8A%80%E5%93%81%E7%89%8C)">红米</a></td><td align="center">是</td><td align="center">否[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-14">14]</a></td><td align="center">解锁将清空数据,解锁工具和手机的小米账号需要一致</td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/OPPO">OPPO</a></td><td align="center">部分机型支持</td><td align="center">是</td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/Vivo">VIVO</a></td><td align="center">否</td><td align="center">否</td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E5%8D%8E%E4%B8%BA">华为</a></td><td align="center">否</td><td align="center">未知</td><td align="center">之前支持,于2018年停止解锁服务</td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E8%8D%A3%E8%80%80%E7%BB%88%E7%AB%AF">荣耀</a></td><td align="center">否</td><td align="center">未知</td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E4%B8%89%E6%98%9F%E9%9B%86%E5%9B%A2">三星</a></td><td align="center">是</td><td align="center">否[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-15">15]</a></td><td align="center">解锁后Knox安全芯片物理熔断并失去保修,无法使用安全文件夹和三星pay等服务,部分机型无法使用摄像头[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-16">16]</a>[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-:0-1">1]</a></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E9%AD%85%E6%97%8F%E7%A7%91%E6%8A%80">魅族</a></td><td align="center">否</td><td align="center">否[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-17">17]</a></td><td align="center">官方仅支持ROOT,ROOT后自动失去保修服务</td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E4%B8%80%E5%8A%A0">一加</a></td><td align="center">是</td><td align="center">视情况</td><td align="center">2022年5月宣布,Root后出现刷机无法恢复的故障时不享受保修[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-18">18]</a></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E7%9C%9F%E6%88%91">真我</a></td><td align="center">部分机型支持</td><td align="center">是</td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/Google_Pixel">Google Pixel</a></td><td align="center">是</td><td align="center">是[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-19">19]</a></td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E6%91%A9%E6%89%98%E7%BD%97%E6%8B%89">摩托罗拉</a>/<a href="https://zh.wikipedia.org/wiki/%E8%81%94%E6%83%B3%E9%9B%86%E5%9B%A2">联想</a></td><td align="center">是</td><td align="center">否</td><td align="center">联想于2014年1月收购摩托罗拉移动业务[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-20">20]</a></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/LG%E9%9B%86%E5%9B%A2">LG</a></td><td align="center">是</td><td align="center">不适用</td><td align="center">官方解锁服务下线,需要进入9008模式进行解锁[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-21">21]</a>LG于2021年7月停止手机业务,不存在保修服务[<a href="https://zh.wikipedia.org/zh-cn/%E5%88%B7%E6%9C%BA#cite_note-22">22]</a></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E8%AF%BA%E5%9F%BA%E4%BA%9A">诺基亚</a></td><td align="center">是</td><td align="center">否</td><td align="center"></td></tr><tr><td align="center"><a href="https://zh.wikipedia.org/wiki/%E7%B4%A2%E5%B0%BC">索尼</a></td><td align="center">是</td><td align="center">否</td><td align="center"></td></tr></tbody></table><p>其实综合看下来,红米和小米是最适合刷机的,</p><p>咕咕的红米 Note11T Pro是京东官方自营店买的,万一出了什么问题,维修应该也方便,所以我觉得上面的风险对我来说可以接受。</p><h2 id="4-刷完机之后是什么样子"><a href="#4-刷完机之后是什么样子" class="headerlink" title="4. 刷完机之后是什么样子"></a>4. 刷完机之后是什么样子</h2><p><img src="https://img.laoda.de/i/2023/12/02/fhvczm-0.webp" alt="image-20231202093657353"></p><p>以我手上的红米Note11T Pro,12+256,刷了EEA版本的ROM,并用magisk把手机成功root,使用一周的经验来看:</p><h3 id="4-1-功能"><a href="#4-1-功能" class="headerlink" title="4.1 功能"></a>4.1 功能</h3><ul><li>可以双卡双待,支持5G(目前用的是移动和联通的卡)</li><li>可以双开应用(微信、Facebook甚至Telegram都可以双开)</li><li>B站终于可以返回上一个视频了</li><li>不支持NFC功能</li><li>似乎可以直接OTA升级(我刚刷完升级了一次)</li><li>root之后依然可以用各大银行app(浦大喜奔、掌上生活、平安口袋银行)不过play商店下的招商银行app登陆验证人脸一直没通过,不知道是不是系统问题</li></ul><h3 id="4-2-BUG"><a href="#4-2-BUG" class="headerlink" title="4.2 BUG"></a>4.2 BUG</h3><ul><li>AirPods Pro连接,用Spotify听歌,然后再去看B站视频,切出B站之后,Spotify会响一下,但是无法继续播放,需要手动点击一下。而且有时候在地铁上会断连,(但是试了下闲置的freebuds 4e又是正常的)</li></ul><h2 id="5-开始刷机"><a href="#5-开始刷机" class="headerlink" title="5. 开始刷机"></a>5. 开始刷机</h2><p>了解了风险之后,我们就开始刷机!</p><p>感谢<a href="https://hostloc.com/thread-1167782-1-1.html">@冲浪麦浪花郎</a>的<a href="https://hostloc.com/thread-1167782-1-1.html">【通用教程】红米Note12Tubro解BL锁+刷欧版+Magisk root保姆教程</a></p><p>以下内容基本上就是上面这篇教程实操而来,只不过我手上的是红米Note11T Pro,然后稍微补充了一些细节和一周的使用体验。</p><p>大概脉络:</p><h3 id="5-1-刷机"><a href="#5-1-刷机" class="headerlink" title="5.1 刷机"></a>5.1 刷机</h3><blockquote><p>正规渠道购买小米/红米手机→捆绑你的号码与手机做BL解锁要求→使用小米自家解锁工具解锁此手机此账号下的BootLoader(BL锁)→获取需要对应的ROM线刷包→将线刷包安全小心地刷入手机</p></blockquote><h3 id="5-2-解锁Root权限"><a href="#5-2-解锁Root权限" class="headerlink" title="5.2 解锁Root权限"></a>5.2 解锁Root权限</h3><blockquote><p>手机启动后检验并安置magisk→提取对应的线刷包boot文件放入magisk写出新的boot引导→将新的引导重新通过ADB命令写入手机</p></blockquote><h2 id="6-准备工作"><a href="#6-准备工作" class="headerlink" title="6. 准备工作"></a>6. 准备工作</h2><ul><li>一台windows电脑</li><li>一台红米或者小米手机(建议小米14、红米K70以下)</li><li>一张可以正常使用的sim卡及卡针</li><li>一条双type-c口的数据线(不要用质量太差的,用原装的即可)</li><li>可以访问真正互联网的网络环境(非必需,但是用大陆的网下载刷机包的时候速度会非常非常非常慢)</li></ul><h2 id="7-绑定小米账号"><a href="#7-绑定小米账号" class="headerlink" title="7. 绑定小米账号"></a>7. 绑定小米账号</h2><p>首先需要有一个手机号码,先注册一个小米账号<code>https://account.xiaomi.com/</code><br>当然你也可以直接在手机上面注册,然后记得把这个号码sim卡放入新手机(是的不能放老手机)所以最好放个备用手机号方便解锁工作。</p><p>捆绑你的号码与手机做解锁要求:这个只针对米系列手机(非澎湃OS系统),需要小米账号和手机绑定168小时的要求,且必须插入对应sim卡,按照要求执行。</p><h4 id="7-1-开启开发者模式"><a href="#7-1-开启开发者模式" class="headerlink" title="7.1 开启开发者模式"></a>7.1 开启开发者模式</h4><p>手机设置“齿轮图标”–我的设备–全部参数与信息——MIUI版本栏目狂点5次——进入开发者模式</p><img src="https://img.laoda.de/i/2023/12/01/nw1jg5-0.webp" alt="e6f413b2dde3ca0b15aa158179fdba70.png" style="zoom:50%;" /><h4 id="7-2-小米账号和手机捆绑"><a href="#7-2-小米账号和手机捆绑" class="headerlink" title="7.2 小米账号和手机捆绑"></a>7.2 小米账号和手机捆绑</h4><p>再次进入手机设置“齿轮图标”——更多设置——开发者选项——开启开发者选项——开启USB调试——设备解锁状态(此处需要登录账号,请务必登录和手机sim卡相同的账号方便计算时间)——耐心等待168小时(保持电话sim卡和账号登录且必须开启状态)</p><blockquote><p>PS:这边不清楚是不熟注册过之后就可以拔SIM卡,咕咕自己是一直插着的</p></blockquote><img src="https://img.laoda.de/i/2023/12/01/nwca5b-0.webp" alt="3e046448cfe63d5c7661b6285fe24d62.png" style="zoom:50%;" /><h4 id="7-3-关于BL解锁"><a href="#7-3-关于BL解锁" class="headerlink" title="7.3 关于BL解锁"></a>7.3 关于BL解锁</h4><p>小米 14 及之后发布的都是新的澎湃系统,适用于新的解锁 BL 规则,旧的 MIUI 系统则依然只需要等待 7 天(168小时)。</p><p>新的 BL 解锁规则需要:</p><ol><li>实名认证</li><li>小米社区 5 级(现在已经明显降低了签到随机分,以前可能只需要一个月,现在可能需要一年)</li><li>答题(6 分钟,18 到题,92 分及格线,最多错一道,而且最近这半个月,题库一直在更新,难度直线上升,目前已经加入了安卓底层相关问题,比如 安卓应用声明周期、JVM垃圾回收机制 等和刷机毫无关系的开发者级别问题)</li></ol><p>最重要的是,即使以上条件你都满足了,申请了也不代表会通过,最近这些天大量人反应申请不通过,并且重复申请会让你重新答题(还都是难度加大后的题库)。</p><p>简单的来说,小米就是想要劝退所有解锁 BL 的人,根本不在乎你是不是发烧友,因为现在出的题目已经和发烧友没什么关系了,都是安卓开发者才可能了解的。。。</p><p>感谢<a href="https://hostloc.com/space-uid-53317.html">@G.K.D</a> 提供</p><h3 id="8-解除手机BootLoader(BL锁)"><a href="#8-解除手机BootLoader(BL锁)" class="headerlink" title="8. 解除手机BootLoader(BL锁)"></a>8. 解除手机BootLoader(BL锁)</h3><p>首先要记得自己的小米账号密码(本本记下来)——然后先安装官方提供的解锁工具 <a href="https://www.miui.com/unlock/download.html">https://www.miui.com/unlock/download.html</a> ——下载解锁工具——先打开解锁工具——登录小米账号密码(也可以短信)——手机关机后按死音量减键和电源开机键</p><img src="https://img.laoda.de/i/2023/12/01/nwe85n-0.webp" alt="a52a8e2e82094a2818faaf7bfb34a12c.png" style="zoom:33%;" /><p>进入fastboot模式——用好的数据线连接PC——按照PC解锁工具提示的流程解锁——重启后手机开机画面会有开锁的图标闪过(解锁成功)</p><p><strong>此时会提醒解锁Bootloader会清除所有手机的东西,所以务必做好备份,或者干脆新机之前不要随意做主力</strong></p><p>参考图如下:</p><img src="https://img.laoda.de/i/2023/12/01/nwg6xq-0.webp" alt="854458288b1bc3bffa22be0b9e7f5ed7.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nwi4nf-0.webp" alt="a7c770c19a307a39088eb5f021d38a69.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nwjvb2-0.webp" alt="fb47d909748984f80fa4453da56ae157.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nwlsap-0.webp" alt="18d20052607608291c811f39c722bc0b.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nwnv5n-0.webp" alt="00102d1820c9acbd14fad7bff7913451.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nwyklv-0.webp" alt="67d3c7b20851507630ede2a6c525b03c.png" style="zoom:33%;" /><p>如果这边你没有到168小时时间,会有提醒让你再过具体几个小时再来,这个时候,你需要长按住音量上键+电源键重启。</p><h3 id="9-获取需要对应的ROM线刷包并刷机"><a href="#9-获取需要对应的ROM线刷包并刷机" class="headerlink" title="9. 获取需要对应的ROM线刷包并刷机"></a>9. 获取需要对应的ROM线刷包并刷机</h3><p><a href="https://xiaomirom.com/">https://xiaomirom.com/</a><br>这里必须注意ROM包分2种(线刷包:顾名思义用到数据线操作的 卡刷包:直接在手机存储中操作的)2023年不建议你用卡刷包,建议全用线刷包,万不得已才有卡刷包。而且个别没有线刷包需要用到卡刷包的文件转换要点时间成本。反正最高效的方法用线刷包就对。别问</p><h4 id="9-1-刷什么版本?"><a href="#9-1-刷什么版本?" class="headerlink" title="9.1 刷什么版本?"></a>9.1 刷什么版本?</h4><p>一般刷机,绝大多数会选择下面几个版本,这边就简单看看他们的差别:</p><ul><li><p>小米国际版:泛指国外小米手机通用的系统,不同地区默认软件有所差别,其他都相同。国际版系统广告比国内少,自带谷歌全家桶,但是仍然存在上传到国内服务器的云端监控,所以正常来说不推荐刷国际版。</p></li><li><p>欧盟官方版(EEA):欧盟官方系统叫EEA版,在国际版基础上取消了广告,保留谷歌全家桶,按照欧盟本地法规去除上传到国内服务器的云端监控,在MIUI国际版网站里能找到。(此版本没有NFC、没有通话录音等一些国内本地化应用,台湾版本有通话录音)</p></li><li><p>EU版本(xiaomi.eu): EU 版是国外第三方根据国内版本改的(类似与国内个人搞得的官改,但比官改更新可靠),前段时间有人发现 EU 版也会上传数据到国内小米服务器,最后 EU 版的制作者也回应了确实会这样。因此如果你不想被反诈上传,那么最好是刷 EEA 这个官方给欧盟开发的版本。(当然,你也可以安装 XP 模块来屏蔽上传应用信息,但不保证能屏蔽干净。<code>https://github.com/MinaMichita/AntiAntiDefraud</code>)</p></li></ul><p>除此之外,还有印度版(国际版的桌面不能改成miui桌面,印度版的桌面是miui桌面)、台湾版(可以开启通话录音)、俄罗斯版本等等,小众一些,咕咕也没有多做了解。</p><p>综合来看,最推荐的还是EEA的欧盟官方版本。</p><p>此次刷机,咕咕也是用的EEA版本。</p><p><img src="https://img.laoda.de/i/2023/12/01/nx10cn-0.webp" alt="37c74d0be297402ae8033161f26eccb2.png"></p><p>这边图用的是Note 12 Turbo,大家看一下就行。</p><p>如果你是和咕咕一样红米Note 11T Pro的话,就是这个:</p><img src="https://img.laoda.de/i/2023/12/01/nx2j9o-0.webp" alt="6dc9dcd5f7657f0e7b5b1184d03668dc.png" style="zoom:33%;" /><p>然后点下一页:</p><img src="https://img.laoda.de/i/2023/12/01/nx4aiy-0.webp" alt="6499975ffe1f90a1400084aa8df62b4b.png" style="zoom:33%;" /><p>就是在这里啦:</p><img src="https://img.laoda.de/i/2023/12/01/nx6erj-0.webp" alt="24ff2dcac0077766d69e675651f0c88a.png" style="zoom:50%;" /><p>其他型号依此类推。</p><p>接着,将下载好的线刷包和rom网站对应的名称编号做核对确认100%无误没有下载错误即可<br>然后解压这个压缩包<code>.tgz</code>(注意,有时候会又有一个压缩包<code>.tar</code>,继续解压然后才是真正的文件夹)(完整拷贝不要变动里面的信息)</p><p>这边咕咕手头上Windows电脑没有,举个例子,比如:</p><img src="https://img.laoda.de/i/2023/12/01/nx848t-0.webp" alt="fb2f47073605c98ff4a16069225183e4.png" style="zoom:50%;" /><p>然后使用官方miflash版的刷机工具即可在xiaomirom有提供,比如<code>2020.3.14</code>这个。</p><p><a href="https://xiaomirom.com/download-xiaomi-flash-tool-miflash/">https://xiaomirom.com/download-xiaomi-flash-tool-miflash/</a></p><img src="https://img.laoda.de/i/2023/12/01/nxnqu2-0.webp" alt="170fad9f656c7b1891d3c2226fee387f.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nxqcww-0.webp" alt="f9e254e2fc543fe9735c1db55f60092f.png" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2023/12/01/nxstmb-0.webp" alt="46a75d9fbc8e2cb241d04a1628af8b96.png" style="zoom:33%;" /><p>先安装驱动,</p><img src="https://img.laoda.de/i/2023/12/01/nxunst-0.webp" alt="719c0f64a54b2c54a633a3269d4bb7c4.png" style="zoom:33%;" /><p>加载设备,看看有没有出现,然后<strong>务必务必务必务必务必</strong>修改成“全部删除” 绝对不可以按照默认的lock上锁要不然上面Bootloader重新解锁(再等168小时警告!)</p><img src="https://img.laoda.de/i/2023/12/01/ny4x12-0.webp" alt="760b6cdaf93cdd3919b03ab459f2e6b2.png" style="zoom:33%;" /><p>然后确认rom版本无误和勾选正确全部删除后便可刷机,刷过程不要用垃圾数据线或者接触不良线缆接口,不要乱动和断电等,小米祖传usb2.0速度,满满等喝杯咖啡。</p><img src="https://img.laoda.de/i/2023/12/01/ny7ho1-0.webp" alt="d789c6146db8f76b8581773f86640d09.png" style="zoom:33%;" /><p>刷机好后会出现error字眼,</p><img src="https://img.laoda.de/i/2023/12/01/ny97zs-0.webp" alt="bd07b6ad290ddeb6ad8c2b491d0a99b0.png" style="zoom: 33%;" /><p>不要怕已经成功了的。</p><p>系统会自动重启并进入新机模式。</p><blockquote><p>第一次解锁和第一次刷机重启都会等比较长时间,耐心一点(我这边卡在miui界面大概有1-2分钟时间)</p></blockquote><img src="https://img.laoda.de/i/2023/12/01/nycc7f-0.webp" alt="5336298860adbca2897227c00e61c807.png" style="zoom:33%;" /><h3 id="10-手机设置(视频)"><a href="#10-手机设置(视频)" class="headerlink" title="10. 手机设置(视频)"></a>10. 手机设置(视频)</h3><p>接着就是一些手机的设置啦,唯一注意的就是长按电源按键,打开飞行模式,跳过谷歌验证。</p><img src="https://img.laoda.de/i/2023/12/02/heoj80-0.webp" alt="image-20231202105255494" style="zoom:25%;" /><p>具体见上面的视频。</p><p>更新一下</p><img src="https://img.laoda.de/i/2023/12/01/nyea3r-0.webp" alt="98f900fb14ea26b8d1c2014173f68696.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nyfv41-0.webp" alt="e689850f618df9eb91c767d480400f83.png" style="zoom:33%;" /><p>9796 手上体验</p><h3 id="11-Root操作(可选)"><a href="#11-Root操作(可选)" class="headerlink" title="11. Root操作(可选)"></a>11. Root操作(可选)</h3><p>这一步是非必需的,如果你不想折腾,其实现在已经可以去玩耍起来了。</p><p>但是有一些小伙伴可能想要定制化改一些东西,需要root权限,这边我们就来看看如何root。</p><p>基本流程:</p><blockquote><p>手机启动后检验并安置magisk app→提取对应的线刷包boot文件放入magisk写出新的boot引导→将新的引导重新通过ADB命令写入手机</p></blockquote><h4 id="11-1-安装和获取magisk需要的文件"><a href="#11-1-安装和获取magisk需要的文件" class="headerlink" title="11.1 安装和获取magisk需要的文件"></a>11.1 安装和获取magisk需要的文件</h4><p>开机设置好后第一步也是开启开发者选项等(按照上面步骤进行)<br>然后再去把刚才电脑文件夹内——images文件夹——boot.img文件——拷贝到手机中(U盘,文件传输什么的方式都可以)</p><p>补充图片</p><p>同时也把magisk下载一下,<a href="https://github.com/topjohnwu/Magisk/releases">https://github.com/topjohnwu/Magisk/releases</a> 下最新版本即可(一起拷贝到手机中)</p><p>安装Magisk然后点击安装——选择一选择修补一个文件——把刚才拷贝的boot.img拉过来执行下一步,完成会保存在下载目录。</p><p>文件形式为:magisk_patched-机器码—机器码.img<br>拷贝这个文件回到PC端比如我放在C盘根目录那么位置就是D:\magisk_patched-12345_Yv1yP.img(U盘,文件传输什么方式都可以)</p><h4 id="11-2-安装SDK-平台工具"><a href="#11-2-安装SDK-平台工具" class="headerlink" title="11.2 安装SDK 平台工具"></a>11.2 安装SDK 平台工具</h4><p>地址:<a href="https://developer.android.com/studio/releases/platform-tools?hl=zh-cn">https://developer.android.com/studio/releases/platform-tools?hl=zh-cn</a></p><p>这边应该都是用windows来操作的,下载好,解压是一个文件夹。</p><p><img src="https://img.laoda.de/i/2023/12/01/nys2on-0.webp" alt="3b478f51f4abb239cd4cabc78af7cbb0.png"></p><p>手机进入fastboot模式刷入包含magisk的boot文件:<br>然后手机关机,再次进入fastboot模式,上面有写(音量减键盘 + 开关键)用数据链连接PC。然后打开安装官方ADB工具,运行cmd窗口栏。</p><blockquote><p>注意是cmd,不是powershell噢,我第一次就是用powershell了,一直报错= =</p></blockquote><p>输入</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">fastboot devices</span><br></pre></td></tr></table></figure><img src="https://img.laoda.de/i/2023/12/01/nytoiz-0.webp" alt="a17610366ce1291e2e07b3aeb1425beb.png" style="zoom: 33%;" /><p>(显示当前连接设备)<br>提示有插入机械码 fastboot字样就已经连接成功了。</p><p>如果没显示说明少了驱动请安装<a href="https://cz-jam.lanzouj.com/iZICY02v2k8j">https://cz-jam.lanzouj.com/iZICY02v2k8j</a></p><p>然后再输入</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">fastboot flash boot C:\magisk_patched-12345_Yv1yp.img</span><br></pre></td></tr></table></figure><blockquote><p>注意这个路径和你自己实际路径对应上,Windows也可以按tab键来补全文件名字的。</p></blockquote><img src="https://img.laoda.de/i/2023/12/01/nyvzab-0.webp" alt="78f495502c8e33ad829e70607c2a5122.png" style="zoom:33%;" /><blockquote><p>当你看到sending boot_a也就是说这款手机也是AB分区的,那么干脆直接点刷入AB分区一起(默认需要进系统避免出错B分区无痕迹备份,但是老司机直接AB一起干)<br>fastboot flash boot_a C:\magisk_patched-12345_Yv1yp.img<br>fastboot flash boot_b C:\magisk_patched-12345_Yv1yp.img</p></blockquote><p>每个人的机器码都不一样,请自己修改后一对号入座<br>执行完毕后可以直接用</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">fastboot reboot</span><br></pre></td></tr></table></figure><p>(重启手机,退出)</p><img src="https://img.laoda.de/i/2023/12/01/nyxu3d-0.webp" alt="78d5616dd8650e600780f2cc9ce43166.png" style="zoom:33%;" /><p>手机重启<br>打开magisk面具<br>发现底部超级用户可以点击了</p><img src="https://img.laoda.de/i/2023/12/01/nzaobh-0.webp" alt="3920bb2811bf81a209f44395217e67e0.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/12/01/nzd3k5-0.webp" alt="b3323bce7125b52c68cb67c29f203d6b.png" style="zoom:33%;" /><p>那么你就已经可以手动给程序ROOT权限了。</p><p>至此,刷机和root工作全部完成了。</p><h3 id="12-银行等APP隐藏Root"><a href="#12-银行等APP隐藏Root" class="headerlink" title="12. 银行等APP隐藏Root"></a>12. 银行等APP隐藏Root</h3><p>因为安全问题,绝大多数金融类APP如果检测到你的手机是root过的,会提醒,甚至不能用。这边就需要我们用magisk来对这些APP隐藏root</p><p><img src="https://img.laoda.de/i/2023/12/02/gldzcj-0.webp" alt="image-20231202100335574"></p><h3 id="13-其他注意点"><a href="#13-其他注意点" class="headerlink" title="13. 其他注意点"></a>13. 其他注意点</h3><p>解锁BL锁后可以锁上吗?——可以,上面有写</p><p>ROOT手机会影响安全吗?——看脸吧,反正可以去掉。</p><p>如果自动或者被动系统更新的话,是否需要重新刷magisk?——是的所有OTA都是需要这样的操作,你需要执行上面操作一遍,所以保留之前此手机此版本的boot文件刷出来的“magisk_patched-机器码—机器码.img”文件方便后面对此手机此固件型号进行上magsik解锁</p><p>为什么不弄TWRP?——因为刚出来,还没有适配的TWRP固件,而且TWRP存在定制,比如欧版的固件TWRP内置的boot文件和咖喱版的boot不一样,不信你试试看,变砖哦,所以不能混用,下载的最好知道来源以及对于MD5,一般变砖就是从这里开始。</p><p>AB分区单独刷入一个备份可以用吗?——当然可以,但是如果非刷入magisk的分区就没有ROOT权限可开,有时候系统更新会混乱所以建议2个分区一起刷入(前提你刷入的是正确没毛病的boot)</p><p>变砖了怎么办?——某宝花钱处理,再不行东哥售后,换机很快的。</p><p>刷机有什么好处?——打开魔法大门,减少了国内MIUI广告生态污染。而且方便MJJ过度到谷歌全家桶系列。</p><p>刷机适合什么人群?——恕我直言,最需要的是老人家。要么换苹果,要么原生。</p><p>刷机后需要做什么?——如果是主力更换请原机保留文件,此备用机做好备份并进行还原测试(哪天丢了好恢复数据)</p><p>用这个方案搞基需要选SoC型号吗?是否只能用于高通/联发科机型?——通用,有部分mjj以为只有高通可以刷,实际都是可以的。一般谣言都是说发哥刷机不友好,实际这种群体都是只选TWRP方案的懒人包,而今年发哥机型才略有起色,但TWRP团队没有义务专门给发哥的boot.img做适配工作,所以你看到的留言都是一边倒。本质上只要能解锁BL能提高对应的包文件。都有搞基潜质。</p><h3 id="14-常用银行类app下载地址"><a href="#14-常用银行类app下载地址" class="headerlink" title="14. 常用银行类app下载地址"></a>14. 常用银行类app下载地址</h3><p>换了安卓之后,就不能像之前iPhone那样,放心下载app了,一定要注意从官网下载对应的APP!</p><p>浦大喜奔:</p><p><a href="https://www.spdbccc.com.cn/zh/wap/newwap/pdxb.html">https://www.spdbccc.com.cn/zh/wap/newwap/pdxb.html</a></p><p>掌上生活:</p><p><a href="https://market.cmbchina.com/MPage/online/220526171323778/download/index.html">https://market.cmbchina.com/MPage/online/220526171323778/download/index.html</a></p><p>dupay:</p><p><a href="https://dupay.one/zh-cn/index.html">https://dupay.one/zh-cn/index.html</a></p><p>平安口袋银行app:</p><p><a href="https://bank.pingan.com/app/index.html?source=sa0000040&downapp_id=AF002000001">https://bank.pingan.com/app/index.html?source=sa0000040&downapp_id=AF002000001</a></p><h3 id="参考-引用"><a href="#参考-引用" class="headerlink" title="参考&引用"></a>参考&引用</h3><p><a href="https://forum.gamer.com.tw/C.php?bsn=60559&snA=62124">https://forum.gamer.com.tw/C.php?bsn=60559&snA=62124</a><br><a href="https://www.bilibili.com/video/BV1BY4y1H7Mc/">https://www.bilibili.com/video/BV1BY4y1H7Mc/</a><br><a href="https://hostloc.com/thread-1167782-1-1.html">https://hostloc.com/thread-1167782-1-1.html</a><br><a href="https://hostloc.com/forum.php?mod=viewthread&tid=1242402">https://hostloc.com/forum.php?mod=viewthread&tid=1242402</a></p><p>感谢以上小伙伴的分享,让我能够一把成功,整理出这篇自认为算比较完整的无坑版小白教程。</p>]]></content>
<summary type="html"><h2 id="更新"><a href="#更新" class="headerlink" title="更新"></a>更新</h2><p>2024年1月23日更新</p>
<p>目前红米Note12 Turbo欧洲版本的已经提供澎湃OS(HyperOS)的ROM,咕咕又买了一个</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="手机刷机" scheme="https://blog.laoda.de/tags/%E6%89%8B%E6%9C%BA%E5%88%B7%E6%9C%BA/"/>
<category term="手机root" scheme="https://blog.laoda.de/tags/%E6%89%8B%E6%9C%BAroot/"/>
</entry>
<entry>
<title>10分钟把域名从西部数码转移到Cloudflare</title>
<link href="https://blog.laoda.de/archives/transfer-domain-to-cloudflare/"/>
<id>https://blog.laoda.de/archives/transfer-domain-to-cloudflare/</id>
<published>2023-11-29T02:04:22.000Z</published>
<updated>2023-11-29T02:17:48.000Z</updated>
<content type="html"><![CDATA[<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>之前的cc域名国内应该是西部数据最便宜,一年好像50多块钱,而且西数家没有强制实名,所以咕咕的cc域名一直放他家。</p><p>不过西数从2022年6月15号开始需要域名实名认证了,当时转了俩cc域名到了cloudflare,统一管理(8刀/年)。虽然贵了一点点,但是心里不膈应,而且也不怕域名出现一些莫名其妙的事情。(关于这些莫名其妙的事情大家可以自行搜索一下,这边就没有统一整理了,后续有机会补上)</p><p>当时这个域名转出再转入的过程也折腾了好久。</p><p>今天偶然发现还有一只漏网之鱼没有转出,看看现在西数续费的价格,一年68,比cf还贵了,</p><img src="https://img.laoda.de/i/2023/11/29/fps3fr-0.webp" alt="136d2e8878ad4b75237d09e921e324da.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2023/11/29/fpuo7m-0.webp" alt="dd5900b4e409b34cb9361c85de695e84.png" style="zoom:50%;" /><p>2023年11月28日汇率:<br><img src="https://img.laoda.de/i/2023/11/29/fpwd2z-0.webp" alt="826373e6e488cf8b4e885cee884ae597.png" style="zoom:50%;" /></p><p>就索性把它也转出去,顺便记录一下整个过程,供后续有同样需求的小伙伴参考使用。(其他家服务商互转也是类似的操作,举一反三即可)</p><blockquote><p>PS:可以看到他家新购域名是有优惠的,所以如果有新购域名需求的小伙伴,可以在新购之后的60天之后,再转移到cf,享受一下这个折扣,不过代价是,需要实名后才能转出。</p></blockquote><h2 id="正文"><a href="#正文" class="headerlink" title="正文"></a>正文</h2><p>下面我们直接开始操作,从开始到完全转完成,全程大概15分钟时间。</p><h3 id="西部数据域名转出准备"><a href="#西部数据域名转出准备" class="headerlink" title="西部数据域名转出准备"></a>西部数据域名转出准备</h3><p>找到”域名转出”:</p><img src="https://img.laoda.de/i/2023/11/29/fpyhj2-0.webp" alt="ec6b53a930c909e21f84603381890799.png" style="zoom:50%;" /><p>随便填一下:</p><img src="https://img.laoda.de/i/2023/11/29/fq8kf0-0.webp" alt="ece843915368e85a4ee86061a0360580.png" style="zoom: 33%;" /><p>填一下邮箱的验证码:</p><img src="https://img.laoda.de/i/2023/11/29/fqau5m-0.webp" alt="fe757c0676fd55c8693cf6cbb69740a9.png" style="zoom:50%;" /><p>我这边还有密保验证:</p><img src="https://img.laoda.de/i/2023/11/29/fqc1d9-0.webp" alt="07e29d73ad95f088f592e2e9052b6722.png" style="zoom:50%;" /><p>然后是短信验证:</p><img src="https://img.laoda.de/i/2023/11/29/fqdl5q-0.webp" alt="658d289f78e342530285050d63d46b40.png" style="zoom:50%;" /><p>ok,转移的密码已经发到邮箱了:</p><img src="https://img.laoda.de/i/2023/11/29/fqf45f-0.webp" alt="16710ab5c1ac9ed57851d84924f36dd2.png" style="zoom:50%;" /><p>登陆邮箱查看转移码,即<code>转出密码</code>:</p><img src="https://img.laoda.de/i/2023/11/29/fqgswq-0.webp" alt="e5577b1edd96a60965c226b630a47852.png" style="zoom:50%;" /><h3 id="登陆Cloudflare,接受域名转入"><a href="#登陆Cloudflare,接受域名转入" class="headerlink" title="登陆Cloudflare,接受域名转入"></a>登陆Cloudflare,接受域名转入</h3><p>登陆CloudFlare:</p><img src="https://img.laoda.de/i/2023/11/29/fqu9jc-0.webp" alt="2dee0b30988708a3a6e9785619b0cfb2.png" style="zoom:50%;" /><p>这边之前已经把dns解析放到cloudflare了,所以可以直接选择转移:</p><img src="https://img.laoda.de/i/2023/11/29/fqw01q-0.webp" alt="002f66f18ee15b3d9a8dddb25e754ee5.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2023/11/29/fqxpz3-0.webp" alt="d3558795782f7e8f0d93e796a0d158f9.png" style="zoom:50%;" /><p>输入前面邮箱收到的转移密码,点击确认:</p><p><img src="https://img.laoda.de/i/2023/11/29/fqz8qd-0.webp" alt="4ea45cb9c091dd16bed3a19abb0eec92.png"></p><p>这边会自动弹出你之前填的一些个人信息,不过放心这部分内容,通过whois查询查不出的,而且你提交给CF的这个信息也不用是完全真实的。</p><p>点击Confirm:</p><p><img src="https://img.laoda.de/i/2023/11/29/fr5ilm-0.webp" alt="c5ed64d1039be7ebc50a741096bc9ceb.png"></p><blockquote><p>您当前的注册商可能需要最多五天时间将您的域名转移到Cloudflare。但是,您可以通过回复他们的确认电子邮件或在他们的仪表板中批准转移来要求他们提前释放该域名。</p></blockquote><p>至此,CF这边我们就搞定了。</p><p><img src="https://img.laoda.de/i/2023/11/29/fs1o15-0.webp" alt="5001528934dde1a3aad2d82c943dffaf.png"></p><h3 id="登陆西部数据,立即转移"><a href="#登陆西部数据,立即转移" class="headerlink" title="登陆西部数据,立即转移"></a>登陆西部数据,立即转移</h3><p>找到域名转出列表:</p><p><img src="https://img.laoda.de/i/2023/11/29/fsmv2f-0.webp" alt="d40754a00ec4191fcfd5e7dc478d56a0.png"></p><p>刷新一下状态:</p><img src="https://img.laoda.de/i/2023/11/29/ft8oe3-0.webp" alt="766fefe0297292d2508d48c1c2b37a6d.png" style="zoom:50%;" /><p>然后点击<code>立即同意转出</code>:</p><img src="https://img.laoda.de/i/2023/11/29/ft7q94-0.webp" alt="9b7f8395e2b7cff9683d91a4ae48f8ce.png" style="zoom:50%;" /><p>确定:</p><img src="https://img.laoda.de/i/2023/11/29/gldlq4-0.webp" alt="b39e37af850597dbc4db810c840ec6a5.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2023/11/29/ftadpv-0.webp" alt="18901f0b2fb24712b1f7b63ffa157f58.png" style="zoom:50%;" /><p>搞定了!</p><img src="https://img.laoda.de/i/2023/11/29/ftci5n-0.webp" alt="14ceec60e12f7de16dfeb33505b44f6b.png" style="zoom:50%;" /><h3 id="检查是否转移成功"><a href="#检查是否转移成功" class="headerlink" title="检查是否转移成功"></a>检查是否转移成功</h3><p>可以到CF的域名续费列表这边,看到CF显示已经成功!</p><img src="https://img.laoda.de/i/2023/11/29/ftwbg4-0.webp" alt="a5abffae230c25a055af62624ca1aba8.png" style="zoom:50%;" /><p>因为我的CF绑定了paypal自动扣款,这边看到已经扣了费用(域名转入到新的服务商,默认会续费一年时间)</p><img src="https://img.laoda.de/i/2023/11/29/gjh2yg-0.webp" alt="903a1e44759a5711f3b88c88d56cb39d.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2023/11/29/gjfqdg-0.webp" alt="cefddff732a53cfb1f08b15a606f20f1.png" style="zoom: 33%;" /><p>邮箱也确认完成。</p><img src="https://img.laoda.de/i/2023/11/29/gjjgrl-0.webp" alt="26c7ee00af16772702d210e31af1b35e.png" style="zoom:33%;" /><p>好了,可以愉快玩耍起来了。</p>]]></content>
<summary type="html"><h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>之前的cc域名国内应该是西部数据最便宜,一年好像50多块钱,而且西数家没有强制实名,所以咕咕的cc域名一直放他家。</p>
<p>不过西数从</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="域名转移" scheme="https://blog.laoda.de/tags/%E5%9F%9F%E5%90%8D%E8%BD%AC%E7%A7%BB/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】2023重制版本!10分钟搭建一个专属的密码管理工具——Vaultwarden</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-vaultwarden/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-vaultwarden/</id>
<published>2023-11-26T06:41:33.000Z</published>
<updated>2023-11-26T09:53:05.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>这期我们来更新一下之前分享过的vaultwarden的搭建教程。</p><p>之前的教程:<a href="https://blog.laoda.de/archives/bitwarden-docker-install/index.html">【保姆级教程】利用宝塔面板 + Docker 搭建一个优秀的密码管理器 ——Bitwarden</a></p><p>这次我们直接用docker来搭建,不需要宝塔面板。而且相对于之前,不需要特意去设置自动同步,整个搭建下来更加容易。</p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>见原来的文章:<a href="https://blog.laoda.de/archives/bitwarden-docker-install/index.html">https://blog.laoda.de/archives/bitwarden-docker-install/index.html</a></p><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>官方GitHub地址:<a href="https://github.com/dani-garcia/vaultwarden">https://github.com/dani-garcia/vaultwarden</a><br>官方docker镜像地址(官方构建镜像在3个不同的容器注册中心都可用):</p><ul><li>GitHub: ghcr.io/dani-garcia/vaultwarden</li><li>Docker Hub: docker.io/vaultwarden/server</li><li>Quay: quay.io/vaultwarden/server</li></ul><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li><p>服务器:咕咕这边用的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)或者<a href="https://gao.ee/lca">莱卡云</a>的香港或者美国CN2 GIA</p></li><li><p>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</p></li><li><p>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</p></li><li><p>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p></li><li><p>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</p></li><li><p>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</p></li></ul><blockquote><p>服务器建议:1C1G,能搭建docker即可</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/ZaBSMPRlvXo">https://youtu.be/ZaBSMPRlvXo</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1cH4y117eU/">https://www.bilibili.com/video/BV1cH4y117eU/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/vaultwarden</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/vaultwarden</span><br><span class="line"></span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3'</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">vaultwarden:</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">vaultwarden</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">vaultwarden/server:latest</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./data/:/data/</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8080</span><span class="string">:80</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DOMAIN=https://subdomain.yourdomain.com</span> <span class="comment"># 这是您希望与您的Vaultwarden实例关联的域名。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOGIN_RATELIMIT_MAX_BURST=10</span> <span class="comment"># 允许在一阵登录/两步验证尝试中的最大请求次数。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOGIN_RATELIMIT_SECONDS=60</span> <span class="comment"># 这是来自同一IP的登录请求之间的平均秒数,在Vaultwarden限制登录次数之前。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ADMIN_RATELIMIT_MAX_BURST=10</span> <span class="comment"># 这与LOGIN_RATELIMIT_MAX_BURST相同,只争对admin面板。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ADMIN_RATELIMIT_SECONDS=60</span> <span class="comment"># 这与LOGIN_RATELIMIT_SECONDS相同</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ADMIN_SESSION_LIFETIME=20</span> <span class="comment"># 会话持续时间</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">ADMIN_TOKEN=YourReallyStrongAdminTokenHere</span> <span class="comment"># 此值是Vaultwarden管理员面板的令牌(一种密码)。为了安全起见,这应该是一个长的随机字符串。如果未设置此值,则管理员面板将被禁用。建议openssl rand -base64 48 生成ADMIN_TOKEN确保安全</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">SENDS_ALLOWED=true</span> <span class="comment"># 此设置决定是否允许用户创建Bitwarden发送 - 一种凭证共享形式。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">EMERGENCY_ACCESS_ALLOWED=true</span> <span class="comment"># 此设置控制用户是否可以启用紧急访问其账户的权限。例如,这样做可以在用户去世后,配偶可以访问密码库以获取账户凭证。可能的值:true / false。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">WEB_VAULT_ENABLED=true</span> <span class="comment"># 此设置决定了网络保险库是否可访问。一旦您配置了您的账户和客户端,停止您的容器,然后将此值切换为false并重启Vaultwarden,可以用来防止未授权访问。可能的值:true/false。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">SIGNUPS_ALLOWED=true</span> <span class="comment"># 此设置控制新用户是否可以在没有邀请的情况下注册账户。可能的值:true / false。</span></span><br></pre></td></tr></table></figure><p>简单说一下:</p><ul><li><code>DOMAIN</code>改成最后你要用的域名形式</li><li><code>ADMIN_TOKEN</code>可以在ssh里面输入<code>openssl rand -base64 48</code>生成</li><li><code>SIGNUPS_ALLOWED</code>等你注册好之后,如果你只是想自己用,可以把这边改成<code>false</code></li></ul><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8080</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>8080</code>,示例填 <code>vaultwarden</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8080</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8080 <span class="comment">#查看 8080 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8080</code> 访问了。</p><p>但是这边我们必须先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>这边以vaultwarden为例子,element也是一样操作即可。</p><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/11/24/ik9r6h-0.webp" alt="c8d15ba5227c2308a0518b99afb9663d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikbf64-0.webp" alt="fae45bafe2e8deb8cdec4d0581b1bd9d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikcgse-0.webp" alt="2c42648f904d6a6bb84a5f25c2e463c0.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/24/ikmexm-0.webp" alt="354981f64863e9c5804a3e3a6f2e1df0.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8080</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 vaultwarden 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>vaultwarden</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8080/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-vaultwarden"><a href="#8-1-更新-vaultwarden" class="headerlink" title="8.1 更新 vaultwarden"></a>8.1 更新 vaultwarden</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/vaultwarden</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-vaultwarden"><a href="#8-2-卸载-vaultwarden" class="headerlink" title="8.2 卸载 vaultwarden"></a>8.2 卸载 vaultwarden</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/vaultwarden</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/vaultwarden <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><h3 id="关于启用WebSocket"><a href="#关于启用WebSocket" class="headerlink" title="关于启用WebSocket"></a>关于启用WebSocket</h3><img src="https://img.laoda.de/i/2023/11/24/ikp6qg-0.webp" alt="9fb7413dd800b6d8c6df2941d456c730.png" style="zoom: 50%;" /><p><strong>自v1.29.0版本起,Vaultwarden默认启用了WebSocket。</strong></p><blockquote><p>WebSocket通知用于通知浏览器、桌面和浏览器扩展Bitwarden客户端某些事件已经发生,例如密码数据库中的条目被修改或删除时。收到通知后,客户端可以采取适当的行动,比如刷新被修改的条目,或者从其本地缓存中移除被删除的条目。在这种通知方案中,Bitwarden客户端与Bitwarden服务器(在这种情况下是Vaultwarden)建立一个持久的WebSocket连接。每当服务器有事件要报告时,它就通过这个持久连接将事件发送给客户端。</p></blockquote><p>之前的版本需要一个反向代理,因为WebSocket运行在与默认HTTPS端口不同的端口上。</p><p>自Vaultwarden版本 1.29.0 起,您可以激活移动客户端推送通知,以便在移动应用、网页扩展和网页保险库之间自动同步您的个人保险库,无需手动同步。</p><p>详情请见wiki ——<a href="https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications">Enabling WebSocket notifications</a></p><h3 id="admin页面"><a href="#admin页面" class="headerlink" title="admin页面"></a>admin页面</h3><p>此页面允许服务器管理员查看所有已注册用户并删除他们。即使在禁用注册的情况下,它也允许邀请新用户。</p><h3 id="插件、客户端"><a href="#插件、客户端" class="headerlink" title="插件、客户端"></a>插件、客户端</h3><p>见原来的文章:<a href="https://blog.laoda.de/archives/bitwarden-docker-install/index.html">https://blog.laoda.de/archives/bitwarden-docker-install/index.html</a></p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/dani-garcia/vaultwarden/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/dani-garcia/vaultwarden">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p><a href="https://github.com/dani-garcia/vaultwarden">https://github.com/dani-garcia/vaultwarden</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>这期我们来更新一下之前分享过的vaultwarden的搭建教程。</p>
<p>之前的教程:<a href="https:/</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="Docker部署" scheme="https://blog.laoda.de/tags/Docker%E9%83%A8%E7%BD%B2/"/>
<category term="密码管理工具" scheme="https://blog.laoda.de/tags/%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/"/>
<category term="Bitwarden" scheme="https://blog.laoda.de/tags/Bitwarden/"/>
<category term="腾讯云香港轻量服务器" scheme="https://blog.laoda.de/tags/%E8%85%BE%E8%AE%AF%E4%BA%91%E9%A6%99%E6%B8%AF%E8%BD%BB%E9%87%8F%E6%9C%8D%E5%8A%A1%E5%99%A8/"/>
<category term="密码管理" scheme="https://blog.laoda.de/tags/%E5%AF%86%E7%A0%81%E7%AE%A1%E7%90%86/"/>
</entry>
<entry>
<title>2023黑五个人比较推荐的几款机器和服务整理(持续更新中)</title>
<link href="https://blog.laoda.de/archives/bf2023/"/>
<id>https://blog.laoda.de/archives/bf2023/</id>
<published>2023-11-24T06:58:11.000Z</published>
<updated>2023-11-26T09:54:18.000Z</updated>
<content type="html"><![CDATA[<h2 id="域名邮箱"><a href="#域名邮箱" class="headerlink" title="域名邮箱"></a>域名邮箱</h2><p>黑五/mxroute域名邮局,非常稳定好用,比自建的省心,咕咕目前手持两款。做邮件评论收发邮件非常合适。</p><p>使用教程:<a href="https://blog.laoda.de/archives/mxroute-settings/index.html">【转载】MXroute 使用教程</a></p><p>【小型】</p><ul><li>10GB 存储</li><li>无限域名</li><li>无限电子邮件帐户</li><li>每小时 300 个出站(每个电子邮件帐户)</li><li>15 美元/3 年</li></ul><p><a href="https://accounts.mxroute.com/?cmd=cart&action=add&id=250">https://accounts.mxroute.com/?cmd=cart&action=add&id=250</a></p><p>【中型】</p><ul><li>25GB 存储</li><li>无限域名</li><li>无限电子邮件帐户</li><li>每小时 300 个出站(每个电子邮件帐户)</li><li>30 美元/3 年</li></ul><p><a href="https://accounts.mxroute.com/?cmd=cart&action=add&id=251">https://accounts.mxroute.com/?cmd=cart&action=add&id=251</a></p><p>【大型】</p><ul><li>50GB 存储</li><li>无限域名</li><li>无限电子邮件帐户</li><li>每小时 300 个出站(每个电子邮件帐户)</li><li>$34.50 / 年</li><li>$69 / 2 年</li><li>$99 / 3 年</li></ul><p><a href="https://accounts.mxroute.com/?cmd=cart&action=add&id=253">https://accounts.mxroute.com/?cmd=cart&action=add&id=253</a></p><p>我们可能还会在<a href="https://mxroute.blackfriday/">https://mxroute.blackfriday</a> 页面上提供其他优惠。</p><h2 id="VPS"><a href="#VPS" class="headerlink" title="VPS"></a>VPS</h2><p><img src="https://img.laoda.de/i/2023/11/24/o1twwo-0.webp" alt="b151154e72784f508c3eb2b4777eb07b.png"></p><h3 id="Racknerd(廉价玩具鸡)"><a href="#Racknerd(廉价玩具鸡)" class="headerlink" title="Racknerd(廉价玩具鸡)"></a>Racknerd(廉价玩具鸡)</h3><p><strong>适合用户:</strong>预算不高的小伙伴</p><p>Racknerd各个档位的机器全览:<a href="https://blog.laoda.de/vps">https://blog.laoda.de/vps</a></p><p>闪购基本上买不到的,直接看上面列表里的,机房选洛杉矶、西雅图、圣何塞就行。</p><img src="https://img.laoda.de/i/2023/11/24/o2wchm-0.webp" alt="4bb97a9793d3c8994a196c3f8e59756a.png" style="zoom:33%;" /><h3 id="DMIT(适合建站)"><a href="#DMIT(适合建站)" class="headerlink" title="DMIT(适合建站)"></a>DMIT(适合建站)</h3><p><strong>适合用户:</strong>对线路要求高的,预算尚可,又有建站需求的小伙伴</p><p>DMIT 黑五 美西 <a href="https://blog.laoda.de/archives/vps-route/">CN2 GIA</a> 年付 139美金一年<del>(优惠之后125.10刀,优惠码 <code>66VIP-BF2023-#DMIT#</code>)</del> 优惠码已经失效 = =</p><p>【PVM.LAX.sPro】</p><ul><li>2 vCPU</li><li>2 GB RAM</li><li>40 GB SSD Storage</li><li>1000 GB Transfer</li><li>300Mbps VirtIO Interface</li><li>1 IPv4 & 1 IPv6 /64</li><li>5Tbps+ DDoS Protection Always-On</li></ul><p>适合有建站需求的小伙伴,自带DDos防护 <a href="https://www.dmit.io/aff.php?aff=3967&pid=184">点击购买</a></p><p><img src="https://img.laoda.de/i/2023/11/24/o2cj0g-0.webp" alt="img"></p><p>推荐阅读:<a href="https://blog.laoda.de/archives/vps-route/">【VPS选购小常识】VPS线路解析不完全指南 什么是CN2 GIA?什么是AS9929、AS4837?什么是CU VIP?什么是移动CMI?如何判断回程路由?</a></p><h3 id="nanraja(适合建站、跑项目)"><a href="#nanraja(适合建站、跑项目)" class="headerlink" title="nanraja(适合建站、跑项目)"></a>nanraja(适合建站、跑项目)</h3><p><strong>适合用户:</strong>对性能有一定要求,稳定使用的用户</p><p>硬件牛逼,线路有点差,套CF的CDN食用,或者用欧洲9929、GIA反代。(比如<a href="https://loll.cc/olink">olink法兰克福9929</a>,搬瓦工之前的荷兰9929机房)</p><p>记得可以抗投诉来着,这次还上了zen4CPU<br><a href="https://lowendtalk.com/discussion/190344/black-friday-blazingly-fast-amd-epyc-9554-genoa-zen-4">https://lowendtalk.com/discussion/190344/black-friday-blazingly-fast-amd-epyc-9554-genoa-zen-4</a></p><p>【VPS 2 GB】</p><ul><li>1 vCores (AMD EPYC™ 9554)</li><li>2 GB Ram (DDR5)</li><li>50 GB NVMe Raid 10</li><li>1 IPV4 & IPv6</li><li>5 TB transfer @ 2.5 Gbe network connection</li><li>Location: Dronten, NL</li><li>Price 18€ per year with coupon code <code>LES9YUJA9FNV4</code></li></ul><p><a href="https://clients.naranja.tech/store/black-friday-2023">https://clients.naranja.tech/store/black-friday-2023</a></p><p>记得用优惠码 <code>LES9YUJA9FNV4</code></p><h3 id="LiteServer(适合建站、跑项目)"><a href="#LiteServer(适合建站、跑项目)" class="headerlink" title="LiteServer(适合建站、跑项目)"></a>LiteServer(适合建站、跑项目)</h3><p><strong>适合用户:</strong>对性能有一定要求,稳定使用的用户</p><p>之前的相关介绍:<a href="https://blog.laoda.de/archives/liteserver-bf-2022-01/">【VPS 黑五促销】LiteServer—— 荷兰老商家,口碑很好,黑五终身 4 折,荷兰大硬盘 VPS ,500G HDD 月付€2.4, 1T HDD 月付€4.8</a></p><p>硬件牛逼,线路有点差,套CF的CDN食用,或者用<a href="https://loll.cc/olink">欧洲9929</a>、GIA反代。</p><p>详情:<a href="https://lowendtalk.com/discussion/190346/nl-black-friday-to-cyber-monday-deals-nvme-vps-plans-and-nvme-webhosting-and-reseller-webhostin">https://lowendtalk.com/discussion/190346/nl-black-friday-to-cyber-monday-deals-nvme-vps-plans-and-nvme-webhosting-and-reseller-webhostin</a></p><h3 id="servaRICA(大盘鸡)"><a href="#servaRICA(大盘鸡)" class="headerlink" title="servaRICA(大盘鸡)"></a>servaRICA(大盘鸡)</h3><p>比较稳,但是线路比较差。</p><p>之前的相关介绍:<a href="https://blog.laoda.de/archives/vps-servarica/index.html">【VPS 选购分享】Servarica —— 促销款 48 刀 2T 大盘鸡测评,机房位于加拿大蒙特利尔</a></p><p><a href="https://servarica.com/all-offers/">https://servarica.com/all-offers/</a></p><p><img src="https://img.laoda.de/i/2023/11/24/o1vofn-0.webp" alt="d57c5cada8563bf2f116f606de231a41.png"></p><h3 id="Hosthatch(本次黑五性价比不高,可以看看,不是很推荐)"><a href="#Hosthatch(本次黑五性价比不高,可以看看,不是很推荐)" class="headerlink" title="Hosthatch(本次黑五性价比不高,可以看看,不是很推荐)"></a>Hosthatch(本次黑五性价比不高,可以看看,不是很推荐)</h3><p>考虑了一下,还是放上来,但是不是很推荐大家购买。</p><p>之前的测评:<a href="https://blog.laoda.de/archives/vps-hosthatch/index.html">【VPS 选购分享】HostHatch—— 目前看过的最高性价比大盘鸡!40 刀 / 年 2T 硬盘!</a></p><blockquote><p>特色:期货鸡,一般买了需要半个月到一个月才会开通,工单回复很慢</p></blockquote><p>hosthatch来了,价格一般,之前丢过数据,不过现在nvme很多地区有快照了。</p><p>综合来说,这次价格不是很实惠。40刀/年 2T硬盘一去不复返了。</p><p>活动链接:<a href="https://lowendtalk.com/discussion/190331/black-friday-2023-nvme-and-storage-deals">https://lowendtalk.com/discussion/190331/black-friday-2023-nvme-and-storage-deals</a></p><p>之前的测评:<a href="https://blog.laoda.de/archives/vps-hosthatch/index.html">【VPS 选购分享】HostHatch—— 目前看过的最高性价比大盘鸡!40 刀 / 年 2T 硬盘!</a></p><h3 id="Contabo(以前很香,现在超售比较多,可以看看,不是很推荐)"><a href="#Contabo(以前很香,现在超售比较多,可以看看,不是很推荐)" class="headerlink" title="Contabo(以前很香,现在超售比较多,可以看看,不是很推荐)"></a>Contabo(以前很香,现在超售比较多,可以看看,不是很推荐)</h3><p>contabo 黑五 4c8g 200g 免安装 免位置费 年付 €49.50 (这家以前很不错,后来超售了内存有点虚标,大家按需求上,线路比较拉垮。号上没机器,一段时间会删号)</p><p>机器挺稳的,硬盘是实打实的,CPU和内存超售,做好心理准备。</p><p>这次特色:</p><ul><li>免安装费+免位置费(本来除了德国机房,亚洲和其他地区机房都要加钱的)</li></ul><p>地址:<a href="https://contabo.com/en">https://contabo.com/en</a></p><p><img src="https://img.laoda.de/i/2023/11/24/scrtrh-0.webp" alt="image-20231124171447823"></p><h3 id="其他(适合手速网速好、有精力的小伙伴)"><a href="#其他(适合手速网速好、有精力的小伙伴)" class="headerlink" title="其他(适合手速网速好、有精力的小伙伴)"></a>其他(适合手速网速好、有精力的小伙伴)</h3><p>有一定概率出现神🐔。</p><img src="https://img.laoda.de/i/2023/11/24/o1wpwv-0.webp" alt="f0a646e57871fbefc3113767bdd80eda.png" style="zoom:50%;" /><p>LET闪购活动每20-40分钟发布一个闪购,超过280个优惠已经就绪,敬请关注→→→<a href="https://lowendtalk.com/discussion/190145/2023-black-friday-cyber-monday-flash-sale-megathread">2023 Black Friday Cyber Monday - FLASH SALE + MEGATHREAD</a></p><p>我们将在活动日的前一小时(如美国东部时间 11 月 24 日晚上 11 点)发布抢先预览,以便您了解可能出现的优惠,但请注意,由于不可预见的情况,优惠可能会发生变化,但如果抢先预览中的任何内容发生变化,我们将予以公布。</p>]]></content>
<summary type="html"><h2 id="域名邮箱"><a href="#域名邮箱" class="headerlink" title="域名邮箱"></a>域名邮箱</h2><p>黑五&#x2F;mxroute域名邮局,非常稳定好用,比自建的省心,咕咕目前手持两款。做邮件评论收发邮件非常合适。</p>
</summary>
<category term="VPS推荐" scheme="https://blog.laoda.de/categories/VPS%E6%8E%A8%E8%8D%90/"/>
<category term="黑五" scheme="https://blog.laoda.de/tags/%E9%BB%91%E4%BA%94/"/>
<category term="性价比" scheme="https://blog.laoda.de/tags/%E6%80%A7%E4%BB%B7%E6%AF%94/"/>
</entry>
<entry>
<title>【每月一荐】推荐5个好用的Chrome插件,再也不用担心看不懂外文了!还可以下载推特视频!|外文学习、Chrome插件管理</title>
<link href="https://blog.laoda.de/archives/chrome-extension-recommendation-01/"/>
<id>https://blog.laoda.de/archives/chrome-extension-recommendation-01/</id>
<published>2023-11-18T05:45:52.000Z</published>
<updated>2023-11-18T08:18:02.000Z</updated>
<content type="html"><![CDATA[<p>从这周起,咕咕争取每月给大家更新一些好玩有用,可以提高生产力的网站或者小工具,帮助大家更好的学习、搬砖。</p><p>这周带来5个咕咕常用的Chrome插件。</p><h3 id="视频地址"><a href="#视频地址" class="headerlink" title="视频地址"></a>视频地址</h3><p>YouTube: <a href="https://youtu.be/N1r8ogb-hsg">https://youtu.be/N1r8ogb-hsg</a></p><h3 id="沉浸式翻译(建议搭配OpenAI的API-Key使用)"><a href="#沉浸式翻译(建议搭配OpenAI的API-Key使用)" class="headerlink" title="沉浸式翻译(建议搭配OpenAI的API Key使用)"></a>沉浸式翻译(建议搭配OpenAI的API Key使用)</h3><p>项目主页:<a href="https://immersivetranslate.com/">https://immersivetranslate.com/</a></p><p>GitHub:<a href="https://github.com/immersive-translate/immersive-translate/">https://github.com/immersive-translate/immersive-translate/</a></p><p>一款免费的,好用的,没有废话的,革命性的,饱受赞誉的,AI 驱动的双语网页翻译扩展,帮助你有效地打破信息差,在手机上也可以用!</p><img src="https://img.laoda.de/i/2023/10/18/pbtzg5-0.webp" alt="5ac550d4974f1d5d7844d25a5613aa93.png" style="zoom:50%;" /><p>可以选择开通会员,如果你和咕咕一样有open ai的OpenAI或者 Azure OpenAI的API Key,也可以直接调用API来使用。</p><p>推荐阅读:<a href="https://blog.laoda.de/archives/play-with-chatgpt/index.html">从注册到畅玩 ChatGPT—— 目前世界上最先进的民用 AI 聊天机器人</a></p><img src="https://img.laoda.de/i/2023/10/18/pc4617-0.webp" alt="cfcf16c544a849f317aada85854af8c0.png" style="zoom:50%;" /><h4 id="主要特性"><a href="#主要特性" class="headerlink" title="主要特性"></a>主要特性</h4><ul><li><strong>沉浸式阅读外文网站</strong> 通过智能识别网页主内容区域并进行双语对照翻译,沉浸式翻译提供了全新的外文阅读体验,因此得名“沉浸式翻译”。</li><li><strong>强大的输入框翻译</strong>,将任何网页上的输入框化身为多语言翻译器,立刻解锁谷歌搜索,ChatGPT 等工具的双语实时对话体验。</li><li><strong>高效的文件翻译</strong> 一键导出双语电子书,同时支持 PDF、字幕、TXT 等文件的实时双语翻译。</li><li><strong>创新的鼠标悬停翻译</strong> 仅需将鼠标停留在任意网页的任意段落上,相应的译文就会立即出现在段落下方。段落在在沉浸式翻译的设计理念中被视为最小单位,保留其上下文,这样我们才能真正理解并学习外语。</li><li><strong>深度定制优化主流网站</strong> 针对 Google、Twitter、Reddit、YouTube、彭博社、华尔街日报等主流网站进行优化,无论是搜索、社交还是获取资讯,都更加流畅高效。</li><li><strong>全平台支持</strong> 除了各大桌面端浏览器,移动设备也可享受同样的沉浸式翻译体验。在 iOS Safari、安卓 Kiwi 浏览器等移动端浏览器上轻松实现双语浏览 Twitter,Reddit 等社交媒体。</li><li><strong>支持 10+种翻译服务</strong> 在沉浸式翻译中,你可以选择超过 10 种翻译服务,如 Deepl、OpenAI、微软翻译、谷歌翻译、腾讯翻译等等,这份名单还在不断增加中。</li></ul><p>作者希望大家能轻松、愉悦、优雅地获取互联网上丰富的外文信息,不让语言成为障碍。</p><h3 id="YouTube双字幕(完全免费)"><a href="#YouTube双字幕(完全免费)" class="headerlink" title="YouTube双字幕(完全免费)"></a>YouTube双字幕(完全免费)</h3><p>如果你只是单纯想要看懂外文的YouTube视频,那么这个插件非常适合你,它还支持字幕下载,而且完全免费!</p><img src="https://img.laoda.de/i/2023/10/18/pbquu1-0.webp" alt="30a75b5bb25b9616e0f3bdbd4a84bb67.png" style="zoom:50%;" /><img src="https://img.laoda.de/i/2023/10/18/pbs4kg-0.webp" alt="7ce7719be903926ea7740ad5d7f2a1f0.png" style="zoom:50%;" /><p>地址:<a href="https://chrome.google.com/webstore/detail/youtube-dual-subtitles/hkbdddpiemdeibjoknnofflfgbgnebcm?hl=zh-CN">https://chrome.google.com/webstore/detail/youtube-dual-subtitles/hkbdddpiemdeibjoknnofflfgbgnebcm?hl=zh-CN</a></p><h3 id="Trancy(可以免费体验10天)"><a href="#Trancy(可以免费体验10天)" class="headerlink" title="Trancy(可以免费体验10天)"></a>Trancy(可以免费体验10天)</h3><p><img src="https://img.laoda.de/i/2023/10/18/pbn1wo-0.webp" alt="b1162b54e747a56ceac2ecae1b2702d2.png"></p><p>一个专为语言学习者设计的全能工具,除了支持YouTube/Netflix双语字幕,Trancy还提供了网页AI划词翻译和全文翻译等功能,你可以巧妙地将内容转化为自己的语言学习资料。借助Trancy,你可以体验高效且有趣的沉浸式语言学习。</p><p>看外文的视频再也不怕啦,而且非常想要学习英语的小伙伴。</p><p>咕咕自己开了年度会员。</p><img src="https://img.laoda.de/i/2023/10/18/pbowd4-0.webp" alt="52cffa3d220fd85e2a3b328a82dd557d.png" style="zoom:50%;" /><p>如果你也想尝试一下的话,可以点击咕咕的邀请连接注册,获得免费的10天会员,体验各种功能:<a href="https://gao.ee/trancy">https://gao.ee/trancy</a></p><h3 id="TwitterMediaHarvest(完全免费)"><a href="#TwitterMediaHarvest(完全免费)" class="headerlink" title="TwitterMediaHarvest(完全免费)"></a>TwitterMediaHarvest(完全免费)</h3><p><img src="https://img.laoda.de/i/2023/10/18/pb970b-0.webp" alt="2458e26dde38971804df6c8884d0fcbd.png"></p><p>一键下载 X 的媒体文件的浏览器插件。</p><p>安装该插件之后,每条带有媒体文件的推文的右下方都会出现下载按钮,你就可以在 x 上一键下载原始图片、视频了。</p><img src="https://img.laoda.de/i/2023/10/18/pbj4j0-0.webp" alt="b3dc08267d9f2f1362794f98ac9ea359.png" style="zoom:33%;" /><p>此外,你还可以在插件设置页面设置自动显示敏感内容。</p><p>GitHub地址:<a href="https://github.com/EltonChou/TwitterMediaHarvest">https://github.com/EltonChou/TwitterMediaHarvest</a></p><h3 id="SimpleExtManager(完全免费)"><a href="#SimpleExtManager(完全免费)" class="headerlink" title="SimpleExtManager(完全免费)"></a>SimpleExtManager(完全免费)</h3><p>这简单的菜单可让你方便的管理浏览器的扩展程序。</p><img src="https://img.laoda.de/i/2023/10/18/pblp3l-0.webp" alt="8d7877dd85bdb2f314d59c7cd9d38324.png" style="zoom:50%;" /><p>功能包括:</p><ul><li>通过弹出菜单来启用/禁用,访问选项和卸载扩展</li><li>定制弹出菜单容貌</li><li>制作扩展群组</li><li>通过弹出菜单和右键菜单启用/禁用扩展群组</li><li>启用活动页面</li></ul><p>地址:<a href="https://chrome.google.com/webstore/detail/simpleextmanager/kniehgiejgnnpgojkdhhjbgbllnfkfdk">https://chrome.google.com/webstore/detail/simpleextmanager/kniehgiejgnnpgojkdhhjbgbllnfkfdk</a></p>]]></content>
<summary type="html"><p>从这周起,咕咕争取每月给大家更新一些好玩有用,可以提高生产力的网站或者小工具,帮助大家更好的学习、搬砖。</p>
<p>这周带来5个咕咕常用的Chrome插件。</p>
<h3 id="视频地址"><a href="#视频地址" class="headerlink" tit</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="生产力工具" scheme="https://blog.laoda.de/tags/%E7%94%9F%E4%BA%A7%E5%8A%9B%E5%B7%A5%E5%85%B7/"/>
<category term="浏览器插件" scheme="https://blog.laoda.de/tags/%E6%B5%8F%E8%A7%88%E5%99%A8%E6%8F%92%E4%BB%B6/"/>
<category term="Chrome插件" scheme="https://blog.laoda.de/tags/Chrome%E6%8F%92%E4%BB%B6/"/>
</entry>
<entry>
<title>无需同步,即开即用!10分钟搭建一个在线二步验证器——2FAuth |谷歌验证器(Google Authenticator)替代品</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-2fauth/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-2fauth/</id>
<published>2023-11-07T11:47:29.000Z</published>
<updated>2023-11-15T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>这期我们来聊一聊二步验证。</p><img src="https://img.laoda.de/i/2023/11/07/raogjp-0.webp" alt="dc6f5c9da5e0dd82a373a4cf83fe32e7.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/w6bxmz-0.webp" alt="image-20231107194553692" style="zoom:33%;" /><p>双重认证Two-factor authentication,缩写为2FA,又称为双重验证、双因子认证、双因素认证,也有叫两步验证2-Step Verification,是多重要素验证中的一个特例,使用两种不同的元素,基于时间随机生成一串验证码用于和服务器验证的技术,来确认用户的身份。(类似之前网易的将军令和银行的电子令牌)</p><img src="https://img.laoda.de/i/2023/11/07/rb6vt2-0.webp" alt="b0842a4834d3da675fd3814961555780.png" style="zoom: 50%;" /><img src="https://img.laoda.de/i/2023/11/07/rb95c8-0.webp" alt="aa61a959689eb2cc3380a9e2a9935730.png" style="zoom:50%;" /><p>强烈建议每个人都用二步验证!</p><p>二步验证可以大大降低网络钓鱼攻击的成功率,减少盗号风险,即使我们的密码因为各种原因泄露了,由于黑客没有第二个验证因素,他们仍然无法访问我们的账户。</p><p>尽管二步验证不能提供100%的安全保障,但与单一密码相比,它显著增强了账户的安全性。</p><p>市面上有非常多的免费的两步验证工具,每一个工具大体上都差不多,但是也有一些区别。有一些人在选择双重验证工具时,可能比较看重安全性,认为那些带同步的双重验证软件有泄露的风险;有一些比较看重多设备同步,因为一旦手机丢失或者损坏,两步验证工具无法恢复数据将带来灾难性的后果。</p><p>如果你不想搭建,可以使用市面上的成熟产品,比如Google Authenticator或者authy,安卓可以使用<a href="https://github.com/beemdevelopment/Aegis/releases">Aegis</a></p><p>下面介绍一下咕咕使用过的这几个软件的特点:</p><ul><li><p>Google Authenticator,谷歌出品,有Android 与 iOS客户端,支持云同步(但是不建议打开,有泄漏的风险)</p></li><li><p>Aegis,免费开源的二次验证(2FA)应用,可以导入导出,加密,自定义图标,夜间主题,选中高亮,没有云同步功能,且仅限安卓使用。(强烈推荐)</p></li><li><p>Authy,适用于 Android 和 iOS 移动设备以及Windows,Apple Watch,桌面程序等全平台,也支持登陆账号,比较不错;缺点是不支持导出。</p></li><li><p>Microsoft authenticator 不推荐使用,非常坑。</p></li></ul><p>咕咕目前使用的方式,主要用Google Authenticator(不开启同步功能),然后在家里的pixel手机上装了Aegis,备份一份。</p><p>今天我们来介绍自建2FA,把我们的2FA账户存储在我们自己的独立数据库中,可以轻松备份和恢复(再也不用担心手机丢失而导致所有2FA账户都无法访问的情况了……)</p><p><img src="https://img.laoda.de/i/2023/11/07/rbbcgz-0.webp" alt="4e6a86c320403a606c8da4be99416109.png"></p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>直接丢几个图:</p><p>主界面</p><img src="https://img.laoda.de/i/2023/11/07/rbl37n-0.webp" alt="884437d1c4556f385a411c4e8765a6bb.png" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbn2d2-0.webp" alt="7bb62a37e18c0e9e19cb34879fd17377.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbokwd-0.webp" alt="b4344c632ed46033d59a4ce4fc88b996.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbphe5-0.webp" alt="e6fb7d7ae2d8fb1a8253786f5670eb34.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbs9s9-0.webp" alt="46c42b2ad1beb330c3ea3ab89dd135b2.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbtgh4-0.webp" alt="7c8d6b9f5e03a5c56453d6164b7a1804.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbuoog-0.webp" alt="4cd2cecb9afe130c07956c8779edf89c.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rbw95n-0.webp" alt="d20354ca1fd603d34e055ee04d30d0ab.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rc692e-0.webp" alt="7225c5accbe5674587b061c978c04be8.png" style="zoom:33%;" /><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>2fa GitHub仓库:<a href="https://2fa.org/">https://2fa.org/</a><br>2fa 官方文档:<a href="https://docs.2fauth.app/">https://docs.2fauth.app/</a><br>官方demo:<a href="https://demo.2fauth.app/">https://demo.2fauth.app</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li>服务器:咕咕这边用的是<a href="https://gao.ee/lca">莱卡云</a>的CN2 GIA的机器</li></ul><p>莱卡云双十一打折活动火热进行中,</p><img src="https://img.laoda.de/i/2023/11/07/ngk3u4-0.webp" alt="image-20231107141845937" style="zoom: 25%;" /><p>莱卡云双十一活动,2核4G的香港服务器<strong>每个月仅售11.11元,每人限购一台,续费同价</strong>!</p><p>另有新客专享云服务器套餐,<strong>续费同价</strong>。</p><p>详情查看:<a href="https://www.lcayun.com/actcloud.html">https://www.lcayun.com/actcloud.html</a></p><img src="https://img.laoda.de/i/2023/11/07/nl10tr-0.webp" alt="image-20231107141845937" style="zoom: 25%;" /><blockquote><p>当然你也可以用<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)</p></blockquote><ul><li>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</li><li>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</li><li>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</li><li>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</li><li>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</li></ul><blockquote><p>服务器建议:1C1G,能搭建docker即可</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/tCjBUefV_Go">https://youtu.be/tCjBUefV_Go</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1Xw411s7Lz/">https://www.bilibili.com/video/BV1Xw411s7Lz/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/2fa</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/2fa</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> data</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="comment">#修改目录所有者和权限</span></span><br><span class="line"><span class="built_in">chown</span> 1000:1000 data </span><br><span class="line"><span class="built_in">chmod</span> 700 data</span><br></pre></td></tr></table></figure><img src="https://img.laoda.de/i/2023/11/07/xe8169-0.webp" alt="8ea0f7576d313c95b425d34f4fcbf59c.png" style="zoom:33%;" /><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/2fa</span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><p>原版内容,环境变量非常多,还有smtp服务:</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">2fauth:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">2fauth/2fauth</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">2fauth</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./2fauth:/2fauth</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8000</span><span class="string">:8000/tcp</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="comment"># 你可以更改应用程序的名称</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_NAME=2FAuth</span></span><br><span class="line"> <span class="comment"># 你可以将其保留为“local”。如果你将其更改为“production”,大多数控制台命令将要求额外确认。</span></span><br><span class="line"> <span class="comment"># 永远不要将其设置为“testing”。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_ENV=local</span></span><br><span class="line"> <span class="comment"># 如果你想在错误屏幕中看到调试信息,请将此设为true。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_DEBUG=false</span></span><br><span class="line"> <span class="comment"># 这应该是你的电子邮件地址</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">[email protected]</span></span><br><span class="line"> <span class="comment"># 加密键用于你的数据库和会话。请确保这个非常安全。</span></span><br><span class="line"> <span class="comment"># 如果你生成了一个新的,所有现有的数据必须被视为丢失。</span></span><br><span class="line"> <span class="comment"># 将其更改为一个确切的32个字符的字符串,或使用命令`php artisan key:generate`来生成它</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_KEY=SomeRandomStringOf32CharsExactly</span></span><br><span class="line"> <span class="comment"># 这个变量必须与你安装的外部地址匹配,但请记住,</span></span><br><span class="line"> <span class="comment"># 它只在命令行中使用作为回退值。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_URL=http://localhost</span></span><br><span class="line"> <span class="comment"># 如果你想让你的应用程序像演示一样反应,可以将此设置为true。</span></span><br><span class="line"> <span class="comment"># 演示模式每小时重置应用程序内容,并设置一个通用的演示用户。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">IS_DEMO_APP=false</span></span><br><span class="line"> <span class="comment"># 日志通道定义了你的日志条目去哪里。</span></span><br><span class="line"> <span class="comment"># “daily”是默认的日志模式,为你提供在/storage/logs/下的5个日轮换日志文件。</span></span><br><span class="line"> <span class="comment"># 还存在多个其他选项。你可以使用“single”来获取一个很大的错误日志(不推荐)。</span></span><br><span class="line"> <span class="comment"># 还可以使用'syslog'、'errorlog'和'stdout',它们会记录到系统本身。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOG_CHANNEL=daily</span></span><br><span class="line"> <span class="comment"># 日志级别。你可以从最不严重到最严重设置:</span></span><br><span class="line"> <span class="comment"># debug, info, notice, warning, error, critical, alert, emergency</span></span><br><span class="line"> <span class="comment"># 如果设置为debug,你的日志会很快变大。如果设置为emergency,可能</span></span><br><span class="line"> <span class="comment"># 永远不会记录任何东西。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOG_LEVEL=notice</span></span><br><span class="line"> <span class="comment"># 数据库配置(只能是sqlite)</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DB_DATABASE="/srv/database/database.sqlite"</span></span><br><span class="line"> <span class="comment"># 如果你正在寻找性能改进,你可以安装memcached。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">CACHE_DRIVER=file</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">SESSION_DRIVER=file</span></span><br><span class="line"> <span class="comment"># 邮件设置</span></span><br><span class="line"> <span class="comment"># 参考你的电子邮件提供商文档来配置你的邮件设置</span></span><br><span class="line"> <span class="comment"># 为每个可用的设置设置一个值以避免问题</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_DRIVER=log</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_HOST=smtp.mailtrap.io</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_PORT=2525</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">[email protected]</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_USERNAME=null</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_PASSWORD=null</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_ENCRYPTION=null</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_FROM_NAME=null</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">MAIL_FROM_ADDRESS=null</span></span><br><span class="line"> <span class="comment"># 认证设置</span></span><br><span class="line"> <span class="comment"># 默认的认证守护</span></span><br><span class="line"> <span class="comment"># 支持:</span></span><br><span class="line"> <span class="comment"># 'web-guard' : Laravel内置的auth系统(如果为null则为默认)</span></span><br><span class="line"> <span class="comment"># 'reverse-proxy-guard' : 当2FAuth部署在处理认证的反向代理后面时</span></span><br><span class="line"> <span class="comment"># 警告</span></span><br><span class="line"> <span class="comment"># 使用'reverse-proxy-guard'时,2FAuth只查找专用的头部信息并跳过所有其他内置的</span></span><br><span class="line"> <span class="comment"># 认证检查。这意味着你的代理完全负责认证过程,只要头部信息存在,2FAuth就</span></span><br><span class="line"> <span class="comment"># 会信任它。</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">AUTHENTICATION_GUARD=web-guard</span></span><br></pre></td></tr></table></figure><p>这种应用,不用搞这么复杂,以下是咕咕修改的:</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3"</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">2fauth:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">2fauth/2fauth</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">2fauth</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./data:/2fauth</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8120</span><span class="string">:8000/tcp</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_NAME=2FAuth</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_KEY=SomeRandomStringOf32CharsExactly</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APP_URL=https://2fa.gugu.ovh</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">IS_DEMO_APP=false</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOG_CHANNEL=daily</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">LOG_LEVEL=notice</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">DB_DATABASE="/srv/database/database.sqlite"</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">CACHE_DRIVER=file</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">SESSION_DRIVER=file</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">AUTHENTICATION_GUARD=web-guard</span></span><br></pre></td></tr></table></figure><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8120</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>类似图中的,这边我们填 <code>8120</code>,示例填 <code>2fa</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8120</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8120 <span class="comment">#查看 8120 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8120</code> 访问了。</p><p>但是这边我们必须先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>这边以2fa为例子,element也是一样操作即可。</p><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/11/07/rch2zx-0.webp" alt="bc6eb22c3841412ef0ffdedf2750fdc9.png" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2023/11/01/nlquzk-0.webp" alt="de87eaa4f87c945ebbec11bf9d413346.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/07/rcron3-0.webp" alt="78447578bedf11687527a5803ae01700.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/01/nls0t5-0.webp" alt="c47e6d7fd7d6a965be564124e6816746.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8120</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 2fa 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>2fa</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8120/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-2fa"><a href="#8-1-更新-2fa" class="headerlink" title="8.1 更新 2fa"></a>8.1 更新 2fa</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/2fa</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-2fa"><a href="#8-2-卸载-2fa" class="headerlink" title="8.2 卸载 2fa"></a>8.2 卸载 2fa</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/2fa</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/2fa <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><p><img src="https://img.laoda.de/i/2023/11/07/s97qzz-0.webp" alt="464e965827aa0695e05da3830c2c6934.png"></p><h3 id="9-1-关闭注册"><a href="#9-1-关闭注册" class="headerlink" title="9.1 关闭注册"></a>9.1 关闭注册</h3><img src="https://img.laoda.de/i/2023/11/07/rd2hxk-0.webp" alt="0a23c390177252ad4a3843d7bcfc9761.png" style="zoom:33%;" /><h3 id="9-2-数据库加密"><a href="#9-2-数据库加密" class="headerlink" title="9.2 数据库加密"></a>9.2 数据库加密</h3><p>存储在数据库中的敏感数据(2FA秘钥和otpauth URI)可以进行加密,以保护它们免受数据库被攻破的风险。</p><p>在2FAuth的设置 > 选项部分中勾选“保护敏感数据”选项,启用加密功能。</p><p><strong>加密适用于所有用户的数据。</strong></p><blockquote><p>警告<br>强烈建议在启用加密时备份.env文件中定义的APP_KEY值(或整个文件)。<br>如果丢失此密钥,则无法生成一次性密码。<br>如果遗失了该密钥,则没有任何解决办法。</p></blockquote><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/Bubka/2FAuth/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/Bubka/2FAuth">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p><a href="https://github.com/Bubka/2FAuth">https://github.com/Bubka/2FAuth</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>这期我们来聊一聊二步验证。</p>
<img src="https://img.laoda.de/i/2023/11/07/</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="2FA" scheme="https://blog.laoda.de/tags/2FA/"/>
<category term="Google Authenticator" scheme="https://blog.laoda.de/tags/Google-Authenticator/"/>
<category term="Authy" scheme="https://blog.laoda.de/tags/Authy/"/>
<category term="Microsoft Authenticator" scheme="https://blog.laoda.de/tags/Microsoft-Authenticator/"/>
<category term="Aegis" scheme="https://blog.laoda.de/tags/Aegis/"/>
<category term="二步验证" scheme="https://blog.laoda.de/tags/%E4%BA%8C%E6%AD%A5%E9%AA%8C%E8%AF%81/"/>
</entry>
<entry>
<title>支持端到端加密!打造自己专属的去中心化即时聊天室!|自由畅聊,我用Matrix!匿名、安全、功能丰富</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-matrix-element/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-matrix-element/</id>
<published>2023-11-03T00:41:40.000Z</published>
<updated>2023-11-04T00:54:52.000Z</updated>
<content type="html"><![CDATA[<p><img src="https://img.laoda.de/i/2023/11/01/nisqe1-0.webp" alt="669ac0cb0942808427944742d69f473b.png"></p><p>详情:<a href="http://notes.valdikss.org.ru/jabber.ru-mitm/">http://notes.valdikss.org.ru/jabber.ru-mitm/</a></p><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>前阵子有小伙伴对于怎么搭建Matrix有疑问,还专门请咕咕喝咖啡请教 = =<br>其实Matrix咕咕之前有折腾过,这边就完整分享一下这个项目。</p><p>PS:这次还包括自己搭建Matrix的客户端——Element(因为国内element似乎被强了,如果你在海外可以直接用官方的Element app)</p><p><strong>Matrix和Element分别是什么?</strong></p><blockquote><p><strong>Matrix</strong>:</p><ul><li>Matrix 是一个开放的通信协议,用于实时通信,包括即时消息、音频和视频通话。</li><li>它是去中心化的,这意味着任何人都可以设置自己的 Matrix 服务器,并与其他 Matrix 服务器通信。</li><li>Matrix 的目标是为所有不同的通信服务提供一个统一的标准,使得不同的服务可以互相通信。</li></ul><p><strong>Element</strong>:</p><ul><li>Element 是基于 Matrix 协议的一个客户端应用。</li><li>它允许用户通过 Matrix 协议进行即时消息、音频和视频通话。</li><li>Element 有多个版本,包括 Web、桌面和移动应用。</li><li>它是 Matrix 生态系统中最流行的客户端之一。</li></ul></blockquote><p>简而言之,Matrix 是一个通信协议,而 Element 是基于这个协议的一个客户端应用。你可以将 Matrix 看作是一个电话网络(比如移动),而 Element 则是使用这个网络的手机(比如苹果)。</p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>直接丢几个图:</p><p>Matrix 搭建好的样子:</p><p><img src="https://img.laoda.de/i/2023/11/01/niu17x-0.webp" alt="17f5a91ab4c843df57f05639e7a537cc.png"></p><p>Element搭建好的首页:</p><p><img src="https://img.laoda.de/i/2023/11/01/nivvmb-0.webp" alt="501a33c8a8763aebab5cd4ab4fcb92f3.png"></p><p>登陆Element网页版:</p><p><img src="https://img.laoda.de/i/2023/11/01/nixmkr-0.webp" alt="d2e3612240aff1c194c55b06b6b76f8b.png"></p><p>Element 后台界面:</p><p><img src="https://img.laoda.de/i/2023/11/01/niz3q3-0.webp" alt="62384d00ea0719ceb1e79015f9bef108.png"></p><p><img src="https://img.laoda.de/i/2023/11/01/nj92fv-0.webp" alt="c4ae8ab73e840b368d22bd562d5ff04d.png"></p><p><img src="https://img.laoda.de/i/2023/11/01/njador-0.webp" alt="7e8b395b251046ef56a6fa0ffdba6f8e.png"></p><p><img src="https://img.laoda.de/i/2023/11/01/njbdk9-0.webp" alt="b7eca30781a75b6f5a37f2eec2d5d081.png"></p><p>互相聊天:</p><p><img src="https://img.laoda.de/i/2023/11/01/njcxf8-0.webp" alt="6ee2dc44f53685ff769ffcc36afaf924.png"></p><p><img src="https://img.laoda.de/i/2023/11/01/njebc3-0.webp" alt="8204772a96f7a738fcbc3ad3d817cad3.png"></p><p><img src="https://img.laoda.de/i/2023/11/01/njg3ff-0.webp" alt="eebece77818640ae1708a61d51db7ee5.png"></p><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>Matrix 官方网站:<a href="https://matrix.org/">https://matrix.org/</a><br>Matrix GitHub官方仓库:<a href="https://github.com/matrix-org/synapse">https://github.com/matrix-org/synapse</a><br>Element 官方网站:<a href="https://element.io/">https://element.io/</a><br>Element 自建GitHub地址:<a href="https://github.com/vector-im/element-web">https://github.com/vector-im/element-web</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li>服务器:咕咕演示搭建用的是香港的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器,硬盘也可以大一些)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)反向代理咕咕用的是<a href="https://gao.ee/lca">莱卡云</a>的CN2 GIA的机器</li><li>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</li><li>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</li><li>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</li><li>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</li><li>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</li></ul><blockquote><p>服务器建议:1C2G起,硬盘可以大一些,有条件的可以把Matrix和Element分两个不同的域名反代,具体原因见:<a href="https://github.com/vector-im/element-web/issues/1977">#1977</a>。</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/MyxdBmgowfs">https://youtu.be/MyxdBmgowfs</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1qz4y1N7p2/">https://www.bilibili.com/video/BV1qz4y1N7p2/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/matrix</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/matrix</span><br><span class="line"></span><br></pre></td></tr></table></figure><p>然后运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo docker run -it --<span class="built_in">rm</span> \</span><br><span class="line">-v /root/data/docker_data/matrix/data:/data \</span><br><span class="line">-e SYNAPSE_SERVER_NAME=matrix.gugu.ovh \</span><br><span class="line">-e SYNAPSE_REPORT_STATS=<span class="built_in">yes</span> \</span><br><span class="line">matrixdotorg/synapse:latest generate</span><br></pre></td></tr></table></figure><p>注意:<code>matrix.gugu.ovh</code>改成自己的域名</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">cd /root/data/docker_data/matrix/data</span><br><span class="line"></span><br><span class="line">vim homeserver.yaml</span><br></pre></td></tr></table></figure><p>改成下面的内容:</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="comment"># Configuration file for Synapse.</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># This is a YAML file: see [1] for a quick introduction. Note in particular</span></span><br><span class="line"><span class="comment"># that *indentation is important*: all the elements of a list or dictionary</span></span><br><span class="line"><span class="comment"># should have the same indentation.</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment"># For more information on how to configure Synapse, including a complete accounting of</span></span><br><span class="line"><span class="comment"># each option, go to docs/usage/configuration/config_documentation.md or</span></span><br><span class="line"><span class="comment"># https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html</span></span><br><span class="line"><span class="attr">server_name:</span> <span class="string">"matrix.gugu.ovh"</span></span><br><span class="line"><span class="attr">pid_file:</span> <span class="string">/data/homeserver.pid</span></span><br><span class="line"><span class="attr">listeners:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">port:</span> <span class="number">8008</span></span><br><span class="line"> <span class="attr">tls:</span> <span class="literal">false</span></span><br><span class="line"> <span class="attr">type:</span> <span class="string">http</span></span><br><span class="line"> <span class="attr">x_forwarded:</span> <span class="literal">true</span></span><br><span class="line"> <span class="attr">resources:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">names:</span> [<span class="string">client</span>, <span class="string">federation</span>]</span><br><span class="line"> <span class="attr">compress:</span> <span class="literal">false</span></span><br><span class="line"><span class="attr">database:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">sqlite3</span></span><br><span class="line"> <span class="attr">args:</span></span><br><span class="line"> <span class="attr">database:</span> <span class="string">/data/homeserver.db</span></span><br><span class="line"><span class="attr">log_config:</span> <span class="string">"/data/matrix.gugu.ovh.log.config"</span></span><br><span class="line"><span class="attr">media_store_path:</span> <span class="string">/data/media_store</span></span><br><span class="line"><span class="attr">registration_shared_secret:</span> <span class="string">"wwaftxJ&3W3Xkx1y4gYoeoY0p6ywmkx96JZB7rCYg2+_bd~M,t"</span></span><br><span class="line"><span class="attr">report_stats:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">macaroon_secret_key:</span> <span class="string">"+i6*ZU+ZgxnIjX98@F3F#Oxw*Un*40=58ESt=+HW=SVA@N6ITy"</span></span><br><span class="line"><span class="attr">form_secret:</span> <span class="string">"xMGG5P~DD-7Brm19jaYR9v0d.wG:abNxN9ikdWcgNE7Z3F;NmB"</span></span><br><span class="line"><span class="attr">signing_key_path:</span> <span class="string">"/data/matrix.gugu.ovh.signing.key"</span></span><br><span class="line"><span class="attr">trusted_key_servers:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="attr">server_name:</span> <span class="string">"matrix.org"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">enable_registration:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">enable_registration_without_verification:</span> <span class="literal">true</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># vim:ft=yaml</span></span><br></pre></td></tr></table></figure><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/matrix</span><br><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><p>以下是咕咕修改的:</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3.3"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">synapse:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">"matrixdotorg/synapse:latest"</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">"matrix_synapse"</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8008</span><span class="string">:8008</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">"./data:/data"</span> <span class="comment"># it will look at the current directory where you save the file and look for the data folder inside</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">VIRTUAL_HOST:</span> <span class="string">"matrix.gugu.ovh"</span></span><br><span class="line"> <span class="attr">VIRTUAL_PORT:</span> <span class="number">8008</span></span><br><span class="line"> <span class="attr">LETSENCRYPT_HOST:</span> <span class="string">"matrix.gugu.ovh"</span></span><br><span class="line"> <span class="attr">SYNAPSE_SERVER_NAME:</span> <span class="string">"matrix.gugu.ovh"</span></span><br><span class="line"> <span class="attr">SYNAPSE_REPORT_STATS:</span> <span class="string">"yes"</span></span><br><span class="line"> <span class="attr">element-web:</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'8009:80'</span></span><br><span class="line"> <span class="comment">#volumes:</span></span><br><span class="line"> <span class="comment"># - '/etc/element-web/config.json:/app/config.json'</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">vectorim/element-web</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br></pre></td></tr></table></figure><p>切换成英文输入法,修改好之后,按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>这边只说matrix的,element也是一样的做!</p><p>打开防火墙的端口 <code>8008</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>这边我们填 <code>8008</code>,示例填 <code>matrix</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/11/01/nlmaxe-0.webp" alt="56a42aff23098af08c1ae587e19739ae.png" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8008</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8008 <span class="comment">#查看 8008 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8008</code> 访问了。</p><p>但是这边我们需要先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>这边以matrix为例子,element也是一样操作即可。</p><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/11/01/nloado-0.webp" alt="7a5274d47aaf7c03c505b33a9ddc9248.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/01/nlpij6-0.webp" alt="8752890c07e855331c65db035723238f.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/01/nlquzk-0.webp" alt="de87eaa4f87c945ebbec11bf9d413346.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/11/01/nls0t5-0.webp" alt="c47e6d7fd7d6a965be564124e6816746.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8008</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 matrix 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>matrix</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8008/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-matrix"><a href="#8-1-更新-matrix" class="headerlink" title="8.1 更新 matrix"></a>8.1 更新 matrix</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/matrix</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-matrix"><a href="#8-2-卸载-matrix" class="headerlink" title="8.2 卸载 matrix"></a>8.2 卸载 matrix</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/matrix</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/matrix <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题及注意点"><a href="#9-常见问题及注意点" class="headerlink" title="9. 常见问题及注意点"></a>9. 常见问题及注意点</h2><h3 id="9-1-Matrix和Element-分两个不同的二级域名"><a href="#9-1-Matrix和Element-分两个不同的二级域名" class="headerlink" title="9.1 Matrix和Element 分两个不同的二级域名"></a>9.1 Matrix和Element 分两个不同的二级域名</h3><p>把Matrix和Element分两个不同的域名反代,具体原因见:<a href="https://github.com/vector-im/element-web/issues/1977">#1977</a>。</p><h3 id="9-2-element-记得千万做好https"><a href="#9-2-element-记得千万做好https" class="headerlink" title="9.2 element 记得千万做好https"></a>9.2 element 记得千万做好https</h3><p>否则会出现:</p><p><img src="https://img.laoda.de/i/2023/11/01/njxw3c-0.webp" alt="1928f0319151c905bce864b8e8107c82.png"></p><h3 id="9-3-关闭注册"><a href="#9-3-关闭注册" class="headerlink" title="9.3 关闭注册"></a>9.3 关闭注册</h3><p>搭建完成之后,注册了用户,之后建议关闭服务的注册功能</p><p>把这边<code>homeserver.yaml</code>里的这两项改为<code>false</code></p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">enable_registration:</span> <span class="literal">true</span></span><br><span class="line"><span class="attr">enable_registration_without_verification:</span> <span class="literal">true</span></span><br></pre></td></tr></table></figure><h3 id="9-4-更换数据库、添加smtp"><a href="#9-4-更换数据库、添加smtp" class="headerlink" title="9.4 更换数据库、添加smtp"></a>9.4 更换数据库、添加smtp</h3><p>这些都可以做,详情可以参考官方仓库的文档进行操作。</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/matrix-org/synapse/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/matrix-org/synapse">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p><a href="https://fossengineer.com/selfhosting-matrix-synapse-docker/">https://fossengineer.com/selfhosting-matrix-synapse-docker/</a></p>]]></content>
<summary type="html"><p><img src="https://img.laoda.de/i/2023/11/01/nisqe1-0.webp" alt="669ac0cb0942808427944742d69f473b.png"></p>
<p>详情:<a href="http://notes.va</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="DockerCompose" scheme="https://blog.laoda.de/tags/DockerCompose/"/>
<category term="Docker部署" scheme="https://blog.laoda.de/tags/Docker%E9%83%A8%E7%BD%B2/"/>
<category term="去中心化" scheme="https://blog.laoda.de/tags/%E5%8E%BB%E4%B8%AD%E5%BF%83%E5%8C%96/"/>
<category term="匿名" scheme="https://blog.laoda.de/tags/%E5%8C%BF%E5%90%8D/"/>
<category term="端到端加密" scheme="https://blog.laoda.de/tags/%E7%AB%AF%E5%88%B0%E7%AB%AF%E5%8A%A0%E5%AF%86/"/>
<category term="安全" scheme="https://blog.laoda.de/tags/%E5%AE%89%E5%85%A8/"/>
<category term="功能丰富" scheme="https://blog.laoda.de/tags/%E5%8A%9F%E8%83%BD%E4%B8%B0%E5%AF%8C/"/>
<category term="即时通信" scheme="https://blog.laoda.de/tags/%E5%8D%B3%E6%97%B6%E9%80%9A%E4%BF%A1/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】10分钟搭建一个高颜值的在线工具箱,用户体验很棒!</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-it-tools/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-it-tools/</id>
<published>2023-10-24T06:16:12.000Z</published>
<updated>2023-10-24T07:24:31.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>咕咕前段时间自己搭了一个在线工具箱,搭建会麻烦一点:</p><p><img src="https://img.laoda.de/i/2023/10/18/qrkc9x-0.webp" alt="934cd4843959e553ae52649672ce784d.png"></p><p>今天直接给大家分享一个可以一条docker命令直接搭的在线工具箱。</p><p>他俩的功能也类似,感兴趣的可以搭一个玩玩~</p><p><img src="https://img.laoda.de/i/2023/10/18/qrm5pl-0.webp" alt="2fa5e01d8b4d36f43a6f0291b9b942b6.png"></p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>直接丢几个图:</p><p>uuid批量生成:</p><p><img src="https://img.laoda.de/i/2023/10/18/qrnfrq-0.webp" alt="682fd6155bacaa1557b95aa2cb76035e.png"></p><p>base64 编解码:</p><p><img src="https://img.laoda.de/i/2023/10/18/qrxkxb-0.webp" alt="571bd4331fbed7395503408f204c3fd1.png"></p><p>获取emoji的unicode:</p><p><img src="https://img.laoda.de/i/2023/10/18/qryiwu-0.webp" alt="fc5ebc22bf6878354368c47ecaf78c67.png"></p><p>二维码生成器:</p><p><img src="https://img.laoda.de/i/2023/10/18/qs0mm2-0.webp" alt="51f5365f2a96b6a427033f0fc563d89f.png"></p><p>docker cli转 docker compose</p><p><img src="https://img.laoda.de/i/2023/10/18/qs1kg6-0.webp" alt="8d7ad5a92daafdda8d523d17bd2dae87.png"></p><p>各种实用的功能,非常适合开发者使用。</p><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>GitHub官方仓库:<a href="https://github.com/CorentinTh/it-tools">https://github.com/CorentinTh/it-tools</a><br>官方Demo:<a href="https://it-tools.tech/">https://it-tools.tech/</a><br>咕咕的Demo:<a href="https://tools.gugu.ovh/">https://tools.gugu.ovh/</a></p><p>这边直接丢出核心的<code>docker-compose.yaml</code>文件,熟悉 docker 环境的小伙伴可以直接拷贝搭建。</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3.3'</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">it-tools:</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">it-tools</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'8380:80'</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">'corentinth/it-tools:latest'</span></span><br></pre></td></tr></table></figure><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li>服务器:咕咕演示搭建用的是香港的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器,硬盘也可以大一些)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)反向代理咕咕用的是<a href="https://gao.ee/lca">莱卡云</a>的CN2 GIA的机器</li><li>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</li><li>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</li><li>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</li><li>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</li><li>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</li></ul><blockquote><p>服务器要求:1C1G,可以运行docker即可</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/bVAofvh_qyc">https://youtu.be/bVAofvh_qyc</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1PM411X7kh/">https://www.bilibili.com/video/BV1PM411X7kh/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/it-tools</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/it-tools</span><br><span class="line"></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><p>以下是咕咕修改的:</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3.3'</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">it-tools:</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">it-tools</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'8380:80'</span> <span class="comment">#8380可以修改成服务器上未使用过的其他端口</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">'corentinth/it-tools:latest'</span></span><br></pre></td></tr></table></figure><p>大家修改好之后,注意切换成英文输入法,然后按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8380</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>这边我们填 <code>8380</code>,示例填 <code>it-tools</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/10/18/qs5fb8-0.webp" alt="8fc76c9819bd3bb7073d2f3723371947.png" style="zoom: 33%;" /><p>查看端口是否被占用(以 <code>8380</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8380 <span class="comment">#查看 8380 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8381</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8380</code> 访问了。</p><p>但是这边我们需要先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/10/18/qs8uyo-0.webp" alt="a5f8fdeed90c24b933fdbea19d7cf68d.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/10/18/qsieiv-0.webp" alt="d2eb8512962872f35cc9164ce5591652.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/10/18/qsjm5u-0.webp" alt="66d162a93c1a0c7733794267eff6d00c.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/10/18/qsl55h-0.webp" alt="876b0c64d68f6b8779d2b67c6528e1ee.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8380</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 it-tools 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>it-tools</code> 所在的服务器 IP 就行。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8380/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者自己尝试一下。</p><h3 id="8-1-更新-it-tools"><a href="#8-1-更新-it-tools" class="headerlink" title="8.1 更新 it-tools"></a>8.1 更新 it-tools</h3><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="string">cd</span> <span class="string">/root/data/docker_data/it-tools</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">pull</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker-compose</span> <span class="string">up</span> <span class="string">-d</span> <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line"><span class="string">docker</span> <span class="string">image</span> <span class="string">prune</span> <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-2-卸载-it-tools"><a href="#8-2-卸载-it-tools" class="headerlink" title="8.2 卸载 it-tools"></a>8.2 卸载 it-tools</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/it-tools</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/it-tools <span class="comment"># 完全删除</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题"><a href="#9-常见问题" class="headerlink" title="9. 常见问题"></a>9. 常见问题</h2><h3 id="9-1-暂时还不支持中文"><a href="#9-1-暂时还不支持中文" class="headerlink" title="9.1 暂时还不支持中文"></a>9.1 暂时还不支持中文</h3><p>目前是英文版本的,暂时没有切换中文的选项,不知道后续作者会不会考虑增加。</p><p>不过这些英文也不难,遇到稍微生疏一点的完全可以用翻译软件翻译一下。</p><p>希望大家都能学好英文,去看看更大的世界。</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/CorentinTh/it-tools/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/CorentinTh/it-tools">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p>GitHub官方仓库:<a href="https://github.com/CorentinTh/it-tools">https://github.com/CorentinTh/it-tools</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>咕咕前段时间自己搭了一个在线工具箱,搭建会麻烦一点:</p>
<p><img src="https://img.laoda.</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="在线工具箱" scheme="https://blog.laoda.de/tags/%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7%E7%AE%B1/"/>
<category term="base64编解码" scheme="https://blog.laoda.de/tags/base64%E7%BC%96%E8%A7%A3%E7%A0%81/"/>
<category term="二维码生成" scheme="https://blog.laoda.de/tags/%E4%BA%8C%E7%BB%B4%E7%A0%81%E7%94%9F%E6%88%90/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】10分钟搭建一个内置图片转换功能的图床——Picsur</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-picsur/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-picsur/</id>
<published>2023-10-17T02:15:59.000Z</published>
<updated>2023-10-20T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>咕咕有一个<a href="https://img.gugu.ovh/">公益图床</a>,给一些小伙伴们临时存放一些图片使用,当时我们是用的<a href="https://blog.laoda.de/archives/docker-compose-install-easyimage/index.html">简单图床</a>来搭建的。</p><p>前阵子oneinstack和lnmp的挂马事件,震惊了很多小伙伴。</p><p>今天,我们就再来介绍一个纯老外做的开源图床<a href="https://github.com/caramelfur/picsur">Picsur</a>——一个易于使用、可自托管的图片分享服务,类似于Imgur,并内置转换功能。</p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>直接丢几个图。</p><p>界面同样非常简洁:</p><p><img src="https://img.laoda.de/i/2023/10/08/ppb7wn-0.webp" alt="246769fe0e4fd6e59e4fb360a3d24d88.png"></p><p><img src="https://img.laoda.de/i/2023/10/08/ppdkb2-0.webp" alt="f80bfca4bd86c1c7da82b6e80df74bd6.png"></p><p>可以看到你上传的所有图片:</p><p><img src="https://img.laoda.de/i/2023/10/08/ppepyv-0.webp" alt="3db0056943f83c2eeaca5026afe0b2f2.png"></p><p>可以设置图片的有效期:</p><p><img src="https://img.laoda.de/i/2023/10/08/ppgln1-0.webp" alt="54bb5e2947e99ea4542f4ea093ca9f74.png"></p><p>可以自由设置图片的格式:</p><p><img src="https://img.laoda.de/i/2023/10/08/ppixo7-0.webp" alt="ce1a095a0d3756197f5dbf3eaa6217ce.png"></p><h3 id="2-1-特点"><a href="#2-1-特点" class="headerlink" title="2.1 特点"></a>2.1 特点</h3><ul><li><p>支持docker一键部署</p></li><li><p>匿名上传</p></li><li><p>支持多账户</p></li><li><p>适当的CORS限制</p></li><li><p>Exif信息剥离</p></li><li><p>支持保留原始图像的能力</p></li><li><p>支持多种格式:</p><ul><li>QOI</li><li>JPG</li><li>PNG</li><li>WEBP(支持动画)</li><li>TIFF</li><li>BMP</li><li>GIF(支持动画)</li></ul></li><li><p>支持转换图像</p></li><li><p>支持编辑图像</p><ul><li>调整大小</li><li>旋转</li><li>翻转</li><li>去除透明度</li><li>负片效果</li><li>灰度化处理</li></ul></li><li><p>可删除图片</p></li><li><p>正确的数据库迁移</p></li><li><p>支持在列表中显示自己的图片</p></li><li><p>支持聊天窗口上正确显示预览图</p></li><li><p>支持设置图片有效期</p></li><li><p>支持ShareX API</p></li><li><p>支持ARM64和AMD64 Docker镜像</p></li><li><p>白色模式(WIP)</p></li><li><p>公共画廊(WIP)</p></li><li><p>相册(WIP)</p></li></ul><p>EXIF是什么?</p><blockquote><p>EXIF数据,全称”Exchangeable Image File Format”,是一种包含各种关于照片的信息的数据格式。它可以包含很多有关照片的信息,比如相机制造商、相机型号、照片拍摄日期、ISO设置、快门速度、焦距,是否使用了闪光灯等等。一些相机还会添加地理位置的gps信息。</p><p>正因为EXIF数据可能包含这种敏感信息,例如地理位置,所以在分享照片的时候需要小心。如果你不希望建议自己的这些信息被公开,你应该在发布照片之前去除这些EXIF数据。</p></blockquote><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>GitHub官方仓库:<a href="https://github.com/caramelfur/picsur">https://github.com/caramelfur/picsur</a></p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li>服务器:咕咕演示搭建用的是香港的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器,硬盘也可以大一些)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)反向代理咕咕用的是<a href="https://gao.ee/lca">莱卡云</a>的CN2 GIA的机器</li><li>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</li><li>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</li><li>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</li><li>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</li><li>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</li></ul><blockquote><p>服务器要求:硬盘越大越好</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/VrsaCTWrjYE">https://youtu.be/VrsaCTWrjYE</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV13h4y1i7tq/">https://www.bilibili.com/video/BV13h4y1i7tq/</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/picsur</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/picsur</span><br><span class="line"></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><p>以下是咕咕修改的,可以看看有啥不一样(具体见视频)</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">'3'</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">picsur:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">ghcr.io/caramelfur/picsur:latest</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">picsur</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">'8003:8080'</span> <span class="comment">#8003可以改成服务器上没有用过的端口</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">PICSUR_HOST:</span> <span class="string">'0.0.0.0'</span></span><br><span class="line"> <span class="attr">PICSUR_PORT:</span> <span class="number">8080</span></span><br><span class="line"> <span class="attr">PICSUR_DB_HOST:</span> <span class="string">picsur_postgres</span></span><br><span class="line"> <span class="attr">PICSUR_DB_PORT:</span> <span class="number">5432</span></span><br><span class="line"> <span class="attr">PICSUR_DB_USERNAME:</span> <span class="string">picsur</span></span><br><span class="line"> <span class="attr">PICSUR_DB_PASSWORD:</span> <span class="string">nice-long-strong-passw0rd-here</span> <span class="comment"># 确保和picsur_postgres:部分的 POSTGRES_PASSWORD 匹配</span></span><br><span class="line"> <span class="attr">PICSUR_DB_DATABASE:</span> <span class="string">picsur</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">## 默认管理员账户是 admin, 这个没法改,密码就是下面这个你设置的</span></span><br><span class="line"> <span class="attr">PICSUR_ADMIN_PASSWORD:</span> <span class="string">different-nice-long-str0n6-passw0rd-here</span> </span><br><span class="line"></span><br><span class="line"> <span class="comment">## 可选的,如果没有设置会默认生产随机字符</span></span><br><span class="line"> <span class="comment"># PICSUR_JWT_SECRET: CHANGE_ME</span></span><br><span class="line"> <span class="comment"># PICSUR_JWT_EXPIRY: 7d</span></span><br><span class="line"> </span><br><span class="line"> <span class="comment">## 最大可以上传的字节数</span></span><br><span class="line"> <span class="attr">PICSUR_MAX_FILE_SIZE:</span> <span class="number">128000000</span> <span class="comment"># 128 MB</span></span><br><span class="line"> <span class="comment">## No need to touch this, unless you use a custom frontend</span></span><br><span class="line"> <span class="comment"># PICSUR_STATIC_FRONTEND_ROOT: "/picsur/frontend/dist"</span></span><br><span class="line"></span><br><span class="line"> <span class="comment">## Warning: Verbose mode might log sensitive data</span></span><br><span class="line"> <span class="comment"># PICSUR_VERBOSE: "true"</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> </span><br><span class="line"> <span class="attr">picsur_postgres:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">postgres:14-alpine</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">picsur_postgres</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="attr">POSTGRES_DB:</span> <span class="string">picsur</span></span><br><span class="line"> <span class="attr">POSTGRES_PASSWORD:</span> <span class="string">nice-long-strong-passw0rd-here</span></span><br><span class="line"> <span class="attr">POSTGRES_USER:</span> <span class="string">picsur</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">./picsur-data:/var/lib/postgresql/data</span> <span class="comment"># 默认数据存放在当前文件夹下的picsur-data目录中,可以自行修改</span></span><br></pre></td></tr></table></figure><p>大家修改好之后,注意切换成英文输入法,然后按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8003</code>和</p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>这边我们端口填 <code>8003</code>,备注填 <code>picsur</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2023/10/08/pr2dc6-0.webp" alt="image-20231008155710365" style="zoom:33%;" /><p>查看端口是否被占用(以 <code>8003</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8003 <span class="comment">#查看 8003 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8081</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8003</code> 访问了。</p><p>但是这边我们需要先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/10/08/pq4h57-0.webp" alt="5c9e551ea244c475284ef8eb1ec7dc65.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2022/04/03/h9azjx_7.webp" alt="image-20220403104353185" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2023/10/08/pqes31-0.webp" alt="cfdb0f8e093e5c588728152b6fdf5fba.png" style="zoom:33%;" /><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>8003</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 picsur 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>picsur</code> 所在的服务器 IP 就行。</p><p>比如这边我用的<a href="https://loll.cc/tx">腾讯云</a>的服务器搭建服务,NPM却是在<a href="https://gao.ee/lac">莱卡云</a>的服务器上的,所以这边我就需要填写腾讯云服务器的IP了</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:8003/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><h3 id="8-1-使用picsur"><a href="#8-1-使用picsur" class="headerlink" title="8.1 使用picsur"></a>8.1 使用picsur</h3><p>建议参考视频。</p><h3 id="8-2-更新-picsur"><a href="#8-2-更新-picsur" class="headerlink" title="8.2 更新 picsur"></a>8.2 更新 picsur</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/picsur</span><br><span class="line"></span><br><span class="line">docker-compose down </span><br><span class="line"></span><br><span class="line"><span class="built_in">cp</span> -r /root/data/docker_data/picsur /root/data/docker_data/picsur.archive <span class="comment"># 万事先备份,以防万一</span></span><br><span class="line"></span><br><span class="line">docker-compose pull</span><br><span class="line"></span><br><span class="line">docker-compose up -d <span class="comment"># 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。</span></span><br><span class="line"></span><br><span class="line">docker image prune <span class="comment"># prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像</span></span><br></pre></td></tr></table></figure><p>提示:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">WARNING! This will remove all dangling images.</span><br><span class="line">Are you sure you want to <span class="built_in">continue</span>? [y/N] </span><br></pre></td></tr></table></figure><p>输入 <code>y</code></p><p>利用 Docker 搭建的应用,更新非常容易~</p><h3 id="8-3-卸载-picsur"><a href="#8-3-卸载-picsur" class="headerlink" title="8.3 卸载 picsur"></a>8.3 卸载 picsur</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/picsur</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/picsur <span class="comment"># 完全删除映射到本地的数据</span></span><br></pre></td></tr></table></figure><p>可以卸载得很干净。</p><h2 id="9-常见问题"><a href="#9-常见问题" class="headerlink" title="9. 常见问题"></a>9. 常见问题</h2><p>目前项目还在初期,很多功能还没完善(比如图片墙、多语言等功能),也可能会有一些bug,大家可以多多向作者反馈,毕竟用的人多了,作者会更有动力去维护,也会有更多的人加入到项目的开发当中去,让项目也变得更好用。</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/caramelfur/picsur/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/caramelfur/picsur">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p>GitHub官方仓库:<a href="https://github.com/caramelfur/picsur">https://github.com/caramelfur/picsur</a></p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><p>咕咕有一个<a href="https://img.gugu.ovh/">公益图床</a>,给一些小伙伴们临时存放一些图片使</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="图床" scheme="https://blog.laoda.de/tags/%E5%9B%BE%E5%BA%8A/"/>
<category term="easyimage" scheme="https://blog.laoda.de/tags/easyimage/"/>
</entry>
<entry>
<title>搬瓦工多款限量版补货,包括年付49.9美元的远古级CN2 GIA限量版!</title>
<link href="https://blog.laoda.de/archives/bwg-promotion-10-16/"/>
<id>https://blog.laoda.de/archives/bwg-promotion-10-16/</id>
<published>2023-10-16T02:22:38.000Z</published>
<updated>2023-10-16T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="官网"><a href="#官网" class="headerlink" title="官网"></a>官网</h2><p>网址:<a href="https://bwh81.net/">https://bwh81.net</a></p><p>日常6.81% 优惠码:BWHNCXNVXV</p><p>瓦工详情介绍:<a href="https://blog.laoda.de/archives/vps-bandwagonhost/">https://blog.laoda.de/archives/vps-bandwagonhost/</a></p><h3 id="搬瓦工年付-49-99美元-CN2-GIA套餐补货"><a href="#搬瓦工年付-49-99美元-CN2-GIA套餐补货" class="headerlink" title="搬瓦工年付$49.99美元 CN2 GIA套餐补货"></a>搬瓦工年付$49.99美元 CN2 GIA套餐补货</h3><p>SPECIAL 10G KVM PROMO V5 - LOS ANGELES - CN2 GIA LIMITED EDITION</p><p>三网CN2 GIA(移动去程直连)线路。可选 DC6 CN2 GIA-E、DC9 CN2 GIA、日本软银、荷兰联通 9929 等机房。不能切换香港cmi(同价位GIA的除了v_ps /咸鱼家的特价机(现在也买不到),基本没有什么更好的选择了,这个机型在二手市场溢价不低。如果有需要可以 无脑冲!)</p><p>测试IP:65.49.131.102</p><ul><li>内存:512M</li><li>CPU:1核</li><li>硬盘:10G SSD</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$49.99/年(可使用:BWH3HYATVBJW 优惠6.81%)</li></ul><p>购买链接:<a href="https://gao.ee/bwg49">https://gao.ee/bwg49</a></p><p>具体介绍:<a href="https://blog.laoda.de/archives/bwg-promotion-2023/">下架多年,重磅回归!搬瓦工传家宝 49 美元 CN2 GIA 套餐回来了!这次还有限量版免费更换 IP 套餐!</a></p><h3 id="DC9-CN2-GIA-E-限量版-VPS-目前已经断货"><a href="#DC9-CN2-GIA-E-限量版-VPS-目前已经断货" class="headerlink" title="DC9 CN2 GIA-E 限量版 VPS (目前已经断货)"></a>DC9 CN2 GIA-E 限量版 VPS (目前已经断货)</h3><p>可使用 DC6 CN2 GIA-E、日本软银等机房。</p><ul><li>内存:1G</li><li>CPU:1核</li><li>硬盘:20G SSD</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$89.99/年(可使用:BWHNCXNVXV 优惠6.81%,折后价83.86美元。)</li></ul><p>购买链接:<a href="https://gao.ee/bwg89">https://gao.ee/bwg89</a></p><h3 id="搬瓦工新款-CN2-GIA-E-40G-限量版套餐补货"><a href="#搬瓦工新款-CN2-GIA-E-40G-限量版套餐补货" class="headerlink" title="搬瓦工新款 CN2 GIA-E 40G 限量版套餐补货"></a>搬瓦工新款 CN2 GIA-E 40G 限量版套餐补货</h3><p>可使用 DC6 CN2 GIA-E、DC9 CN2 GIA、日本软银、荷兰 EUNL_9 等 14 个机房。</p><ul><li>CPU:2核</li><li>内存:2GB</li><li>硬盘:40GB SSD</li><li>流量:1000GB 月流量</li><li>带宽:2.5Gbps</li><li>价格:$99.99/年</li><li>优惠码:BWHNCXNVXV</li></ul><p>购买链接:<a href="https://gao.ee/bwg99">https://gao.ee/bwg99</a></p><h3 id="迪拜-20G限量版-目前已经断货"><a href="#迪拜-20G限量版-目前已经断货" class="headerlink" title="迪拜 20G限量版 (目前已经断货)"></a>迪拜 20G限量版 (目前已经断货)</h3><p>搬瓦工迪拜 20G限量版,可选迪拜、DC6/DC9 CN2 GIA、日本软银、联通9929、普通机房等。</p><ul><li>CPU:1核</li><li>内存:1G</li><li>硬盘:20GB</li><li>流量:500GB流量,</li><li>价格:月付$9.9/年付 $99.99</li><li>优惠码:BWHNCXNVXV</li></ul><p>购买链接:<a href="https://gao.ee/bwgdb">https://gao.ee/bwgdb</a></p>]]></content>
<summary type="html"><h2 id="官网"><a href="#官网" class="headerlink" title="官网"></a>官网</h2><p>网址:<a href="https://bwh81.net/">https://bwh81.net</a></p>
<p>日常6.81% 优</summary>
<category term="VPS推荐" scheme="https://blog.laoda.de/categories/VPS%E6%8E%A8%E8%8D%90/"/>
<category term="美国VPS" scheme="https://blog.laoda.de/tags/%E7%BE%8E%E5%9B%BDVPS/"/>
<category term="搬瓦工" scheme="https://blog.laoda.de/tags/%E6%90%AC%E7%93%A6%E5%B7%A5/"/>
</entry>
<entry>
<title>分享一下自己在VPS/NAS/本地电脑上是怎么备份数据的</title>
<link href="https://blog.laoda.de/archives/321-backup/"/>
<id>https://blog.laoda.de/archives/321-backup/</id>
<published>2023-09-22T09:41:03.000Z</published>
<updated>2023-09-22T09:53:13.000Z</updated>
<content type="html"><![CDATA[<p>今天在整理文件,正好稍微梳理一下自己在不同设备上的备份方法,简单和大家分享下。(有不对的地方或者更好的建议欢迎评论区指出~)</p><p>先简单介绍一个ChatGPT给出的321备份策略(有很多种说法,这个是其中一种):</p><img src="https://img.laoda.de/i/2023/09/22/spa8o4-0.webp" alt="8f3274298133f20b777c479310e1df5b.png" style="zoom:50%;" /><blockquote><p>321备份原则是一种数据备份策略,旨在防止数据丢失。具体来说,它建议按照以下方式备份数据:</p><ul><li>3份备份:也就是最少拥有你数据的三个副本。比如说,一个在你的电脑硬盘上(原始数据),剩下的两个在其他不同的存储媒介上。</li><li>2种不同的存储类型:这意味着你不能把所有的备份都放在同一种存储设备上,例如仅使用硬盘做备份。第二份备份应储存在不同的设备或系统上,比如外部硬盘,网络附加存储(NAS),DVD,云存储等。</li><li>1份离线(或离站)备份:这意味着你需要有一份备份是存储在离开你的日常工作区域的区域中的,最好是在完全不同的地理位置。这是为了防止像火灾、洪水这种可能摧毁你现场数据和备份的灾难。</li></ul></blockquote><p>按照321备份原则做好数据备份,你就具备了充分保护数据,防止灾难性数据丢失的准备。</p><h2 id="服务器上的数据备份"><a href="#服务器上的数据备份" class="headerlink" title="服务器上的数据备份"></a>服务器上的数据备份</h2><img src="https://img.laoda.de/i/2023/09/22/spbwf8-0.webp" alt="5fed802585c251d8d30d5536f32b9a8e.png" style="zoom: 67%;" /><p>这个适合那些手头上VPS不止一台的小伙伴使用。(最好有一台机器硬盘大一点)</p><p>其实之前也和大家已经介绍过了——<a href="https://blog.laoda.de/archives/chatgpt-script-about-vps-backup/index.html">用ChatGPT帮你写一个VPS定时自动备份脚本</a>,不少小伙伴总喜欢尝试一些奇奇怪怪的VPS商家,这些商家说不定哪天就跑路了,但是架不住人家便宜啊,就是忍不住剁手要买,搭配这个脚本,可以让你少丢失一些数据。(开玩笑,任何VPS商家都有丢失数据的可能性,如果你觉得你的数据重要,就一定记得备份)</p><p>这边以Debian 11 系统为例子,如果看咕咕视频比较多的,应该都知道咕咕推荐大家玩docker把各个项目都放<code>/root/data/docker_data</code>目录下(其实更好的是把配置文件和数据分开放),这个脚本就是备份我们的docker项目的,实现的功能如下:</p><p>把A服务器上的<code>/root/data/docker_data</code>目录下的文件每天早上4点钟定时备份到B服务器的<code>/root/data/backup_data</code>文件夹下,</p><ul><li>备份文件在B服务器上最多保存3份,并以时间戳命名。</li><li>B服务器的IP地址是:<code>150.117.211.107</code>, ssh端口是<code>222</code>。(按需修改)</li><li>备份的日志保存在A服务器的<code>/root/logs</code>文件夹下,并且日志包含时间信息</li><li>备份和传输的过程可以显示进度条,并且有提示信息,并且进度条最多显示100%(安装好pv,临时备份文件放在<code>/tmp</code>目录下,上传完成之后可以删掉)</li><li>保留文件原有的属性(所有者等信息)</li><li>恢复备份的时候,只有<code>/root/data/docker_data</code>中的内容而不包括<code>/root/data/...</code>完整路径</li></ul><p>咕咕这边用的备份服务器是<a href="https://blog.laoda.de/archives/vps-hosthatch/index.html">Hosthatch</a>家的大盘鸡,当时65刀/3年的价格,有1T的硬盘,还有无限流量的BUG(标的20T,实际不统计流量),还不错的。(他家有过丢数据的情况,所以这个机器咕咕就用来跑下载和备份用了)</p><img src="https://img.laoda.de/i/2023/09/22/spmiwk-0.webp" alt="df9c744aa798d9df038870d916816c2c.png" style="zoom:33%;" /><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line">cd ~</span><br><span class="line">apt update -y && apt upgrade -y </span><br><span class="line">apt install pv rsync -y # 注意A、B服务器上都装上rsync</span><br><span class="line">mkdir script</span><br><span class="line">vim backup.sh</span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="meta">#!/bin/bash</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Variables</span></span><br><span class="line">SOURCE_DIR=<span class="string">"/root/data/docker_data/"</span></span><br><span class="line">DEST_DIR=<span class="string">"/root/data/backup_data/"</span></span><br><span class="line">REMOTE_IP=<span class="string">"150.117.211.107"</span></span><br><span class="line">SSH_PORT=222</span><br><span class="line">TMP_BACKUP=<span class="string">"/tmp/data_backup_<span class="subst">$(date +'%Y%m%d%H%M%S')</span>.tar.gz"</span></span><br><span class="line">LOG_FILE=<span class="string">"/root/logs/backup_<span class="subst">$(date +'%Y%m%d')</span>.log"</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Start backup</span></span><br><span class="line"><span class="built_in">echo</span> <span class="string">"<span class="subst">$(date)</span> - Starting backup..."</span> | <span class="built_in">tee</span> -a <span class="variable">$LOG_FILE</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Create the backup with tar, display progress with pv</span></span><br><span class="line">tar czfP - <span class="variable">$SOURCE_DIR</span> --absolute-names --transform <span class="string">'s|^/root/data/||'</span> | pv -p -t -e -r -s $(<span class="built_in">du</span> -sb <span class="variable">$SOURCE_DIR</span> | awk <span class="string">'{print $1}'</span>) > <span class="variable">$TMP_BACKUP</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Rsync the backup to the remote server, displaying progress</span></span><br><span class="line">rsync -avhP --remove-source-files -e <span class="string">"ssh -p <span class="variable">$SSH_PORT</span>"</span> <span class="variable">$TMP_BACKUP</span> root@<span class="variable">$REMOTE_IP</span>:<span class="variable">$DEST_DIR</span> | <span class="built_in">tee</span> -a <span class="variable">$LOG_FILE</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Remove backups in B server exceeding 3</span></span><br><span class="line">ssh -p <span class="variable">$SSH_PORT</span> root@<span class="variable">$REMOTE_IP</span> <span class="string">"cd <span class="variable">$DEST_DIR</span> && (ls -t | head -n 3; ls) | sort | uniq -u | xargs rm -f"</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># Cleanup temp file in case rsync failed to remove it</span></span><br><span class="line"><span class="built_in">rm</span> -f <span class="variable">$TMP_BACKUP</span></span><br><span class="line"></span><br><span class="line"><span class="built_in">echo</span> <span class="string">"<span class="subst">$(date)</span> - Backup completed."</span> | <span class="built_in">tee</span> -a <span class="variable">$LOG_FILE</span></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">chmod</span> +x backup.sh</span><br></pre></td></tr></table></figure><p>A服务器创建好文件夹</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> ~</span><br><span class="line"><span class="built_in">mkdir</span> logs</span><br></pre></td></tr></table></figure><p>B服务器创建好文件夹</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">mkdir</span> -p /root/data/backup_data/</span><br></pre></td></tr></table></figure><p>A、B服务器之间创建免密码登录</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="comment"># 在A服务器上</span></span><br><span class="line"></span><br><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line">ssh-keygen <span class="comment"># 一路回车即可</span></span><br><span class="line"></span><br><span class="line">ssh-copy-id -i ~/.ssh/id_rsa.pub -p 222 [email protected]</span><br></pre></td></tr></table></figure><p>每天早上4点执行备份:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">crontab -e</span><br></pre></td></tr></table></figure><p>在crontab界面中输入:</p><figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">0 4 * * * /root/script/backup.sh</span><br></pre></td></tr></table></figure><blockquote><p>脚本操作包含敏感操作,如远程登录、文件传输等,在执行前,应确保所有操作、路径和细节均无问题。<br>可以根据需要修改脚本,比如修改备份文件名、备份路径、备份文件最多保留数目等参数。</p></blockquote><p>咕咕的站点都在<a href="https://blog.laoda.de/archives/vps-bandwagonhost/index.html">搬瓦工</a>和<a href="https://blog.laoda.de/archives/vps-hetzner/index.html">Hetzner</a>上,其中搬瓦工有免费的自动备份,Hetzner也有收费的自动备份功能,咕咕都用上了,搭配这个脚本,一定程度上减少了数据丢失的风险。</p><h2 id="NAS的数据备份"><a href="#NAS的数据备份" class="headerlink" title="NAS的数据备份"></a>NAS的数据备份</h2><img src="https://img.laoda.de/i/2023/09/22/spokpd-0.webp" alt="37f639a2a4f8f78bbdf60881c93d9d9d.png" style="zoom: 33%;" /><p>咕咕之前用的威联通TS-453BMini(8G版本),系统还是比较复杂的(上周挂了小黄鱼打算出掉,有想要接盘的吗)</p><p>前俩周淘了一台群晖的Synology DS920+,发现这个系统才友好嘛。这边就以群晖来举例子。</p><p>首先说说RAID的事情。</p><p>这边直接放出我自己个人的做法:</p><p>不组RAID,不做SHR,全部四块硬盘用的都是BASIC。</p><p>简单聊一下为啥。</p><ul><li>SHR 群晖自己的RAID模式,适合小白,本质上是根据硬盘数量帮你自动组RAID1、RAID5之类的</li><li>RAID0 读写速度翻倍,享受全部硬盘容量,但是一块坏了,数据就全丢了,风险太高(如果你是纯搞PT刷流量可以考虑)</li><li>RAID1 其实本质就是一块硬盘完全同步另一块硬盘的数据,同步的作用,的确是可以一定程度帮忙恢复数据的(一块硬盘坏了),但是对我来说,重要的数据即使丢了一点也很可惜,还是得备份,而且RAID1还损失了一半的硬盘空间。</li><li>RAID5 也有一定的容错能力,但是据说恢复数据非常非常慢,而且最好等你新硬盘到了再拆坏掉的硬盘,不然期间又坏了一块硬盘,你的数据就都没了。而且恢复期间服务用不了,比较讨厌。</li><li>JBOD 这个曾经是咕咕在类似OVH和HZ独立服务器上最想要弄的模式,因为搞PT下载,一个盘只有2T不够用(qb挂载的问题只能有一个路径,换另一个路径似乎这个路径下就做不了种了),把4块2T合在一起,直接变8T就很爽了。最近才知道原来这种情况下万一有一块硬盘坏了,数据也是全丢的,那不如直接上RAID0 了(如果有错误,欢迎评论区指出)</li></ul><p>所以咕咕最后的选择是全部BASIC模式,类似Windows上的CDEF盘一样,彼此不干扰,重要的数据自己再备份。</p><p>备份方案:</p><p>Cloud Sync 挂载 Onedrive备份重要文件(强烈建议大家可以搞一个office365的家庭版)</p><img src="https://img.laoda.de/i/2023/09/22/sppms8-0.webp" alt="5173fadaa9fd2565de71f60e5420355e.png" style="zoom:33%;" /><p>再用 USB Copy,备份一份到移动硬盘上。(咕咕用的是很多年以前的LaCie 1T版本,但是花了529 = = 没怎么关注移动硬盘了,欢迎大家在评论区推荐性价比高的)</p><img src="https://img.laoda.de/i/2023/09/22/spqu2n-0.webp" alt="a19985c50a9eb7654adcedf0a97845af.png" style="zoom: 33%;" /><p>这样一来,也符合321备份原则,可以放心数据安全问题了。</p><blockquote><p>PS:其实不管是群晖还是威联通,本质都是Linux系统,也都能算“服务器”,完全也可以用前面服务器备份的方法来搞,不过既然这边有现成的套件,咕咕就用套件了</p></blockquote><h2 id="本地电脑的数据备份"><a href="#本地电脑的数据备份" class="headerlink" title="本地电脑的数据备份"></a>本地电脑的数据备份</h2><img src="https://img.laoda.de/i/2023/09/22/sps79s-0.webp" alt="a942fdeea69f1f44966d93cfa84f4cf2.png" style="zoom:80%;" /><p>这边咕咕用的就比较多了,咕咕日常使用的是MacBook Air,我开通了iCloud的2T套餐,手上又有家庭版的1T的Onedrive还有<a href="https://blog.laoda.de/archives/docker-compose-install-nextcloud-aio/index.html">自建的Nextcloud</a></p><p>这边我都用了 = =</p><p>文稿和桌面文件夹用iCloud同步,和家里的MacMini配合使用起来还不错。</p><p>工作的文件大部分都在Onedrive里头,这个Windows电脑、Mac电脑都能同步,上下班不用再背电脑回去了。</p><p>挂载Nextcloud一般放一些个人的资料。Nextcloud有一个问题就是它没办法和iCloud和Onedrive一样有个“释放本地空间”的功能,这样会比较占本地的空间,没法想下载下载想释放空间释放空间,有点遗憾。</p><p>以上。写的有点粗糙,希望能够给大家有所启发。</p><p>有问题,或者文中有什么错误的地方也欢迎大家在评论区交流指正。</p>]]></content>
<summary type="html"><p>今天在整理文件,正好稍微梳理一下自己在不同设备上的备份方法,简单和大家分享下。(有不对的地方或者更好的建议欢迎评论区指出~)</p>
<p>先简单介绍一个ChatGPT给出的321备份策略(有很多种说法,这个是其中一种):</p>
<img src="https://img</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="备份" scheme="https://blog.laoda.de/tags/%E5%A4%87%E4%BB%BD/"/>
<category term="NAS" scheme="https://blog.laoda.de/tags/NAS/"/>
<category term="iCloud" scheme="https://blog.laoda.de/tags/iCloud/"/>
<category term="Onedrive" scheme="https://blog.laoda.de/tags/Onedrive/"/>
</entry>
<entry>
<title>下架多年,重磅回归!搬瓦工传家宝49美元 CN2 GIA套餐回来了!这次还有限量版免费更换IP套餐!</title>
<link href="https://blog.laoda.de/archives/bwg-promotion-2023/"/>
<id>https://blog.laoda.de/archives/bwg-promotion-2023/</id>
<published>2023-09-12T13:05:23.000Z</published>
<updated>2024-01-09T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h3 id="【2024-01-10更新】"><a href="#【2024-01-10更新】" class="headerlink" title="【2024-01-10更新】"></a>【2024-01-10更新】</h3><p><strong>车又来了!</strong></p><p>搬瓦工 CN2 GIA-E 10G 限量版传家宝套餐补货!$49美元/年,1核 CPU,512MB 内存,10GB SSD 硬盘,500GB 流量,可随意切换 DC6 CN2 GIA-E、DC9 CN2 GIA、日本软银、荷兰联通 9929 等机房!</p><p>优惠码:<code>BWHCCNCXVV</code></p><p>购买链接:<a href="https://gao.ee/bwg49">https://gao.ee/bwg49</a></p><p>所有方案:<a href="https://bwg.laoda.de/">https://bwg.laoda.de/</a></p><p>方案选择:<a href="https://blog.laoda.de/archives/vps-bandwagonhost">https://blog.laoda.de/archives/vps-bandwagonhost</a></p><p>购买教程:<a href="https://blog.laoda.de/archives/vps-bandwagonhost">https://blog.laoda.de/archives/vps-bandwagonhost</a></p><p><img src="https://img.laoda.de/i/2024/01/10/f46v65-0.webp" alt="img"></p><h3 id="【2023-11-14更新】"><a href="#【2023-11-14更新】" class="headerlink" title="【2023-11-14更新】"></a>【2023-11-14更新】</h3><p><strong>车又来了!</strong></p><p>目前,</p><p>搬瓦工年付$49.99美元 CN2 GIA套餐补货(最推荐!!!)</p><p>FREEDOM PLAN 限量版套餐 -不可切换机房(对IP有需求的推荐!!!)</p><p>这俩49美金/年和89美金/年的还有货!</p><p>非常建议大家使用新邮箱购买!万一不要了可以出手。(49刀这款之前二手市场溢价贼高 = =)</p><p>咕咕已经入手一个了 = =</p><p><img src="https://img.laoda.de/i/2023/09/12/zmh8f5-0.webp" alt="image-20230912215404833"></p><p>一张图告诉你为啥要买:</p><img src="https://img.laoda.de/i/2023/09/13/tyk9g9-0.webp" alt="image-20230913181155450" style="zoom:67%;" /><p>偷懒,以下是ChatGPT生成的:</p><p>亲爱的网络爱好者们,搬瓦工正在推出他们的全新套餐——FREEDOM PLAN。这个精心打造的计划,仅适用于 DC2 AO Coresite 机房,只需$89/年,就可以享受2核 CPU、2GB 内存、40GB SSD 硬盘、2000GB 流量以及高达2.5Gbps的带宽——这是你所需要的一切,尽在这个包里!</p><p>最值得一提的是,此套餐独有的优惠——每两周都可以免费更换一次 IP 地址。想象一下这样的自由和便利,每14天,都有新的开始等你接受。更为独特的是,你无需为更换 IP 换得头痛而烦恼,一切都已在这份套餐里包含了。</p><p>不仅如此,今天是个特殊的日子,搬瓦工正与前所未有的慷慨心情为你重新上架一款备受热爱的产品——洛杉矶DC6 CN2 GIA-E限量版。这款产品已经下架多年,如今又重磅回归,仅需$46.59/年。别忘了,还有 DC9、日本软银等多款限量版套餐都重新上架了。</p><p>这是一个不可多得的机会,无论你是刚入手的初学者,还是寻求网络性能升级的专业人士,我们的新款优化线路的产品都能满足你的需求。如果你一直在寻找一款性价比高的机器,那么今天就是你找寻的那一天。别犹豫!立即享受搬瓦工为你实现的一切网络自由的可能性吧。</p><p><img src="https://img.laoda.de/i/2023/09/12/xx85tb-0.webp" alt="搬瓦工,上架两周免费更换IP套餐年付89美元,并补货美西DC6/DC9/日本软银等限量套餐/年付49美元起"></p><h4 id="1、官网"><a href="#1、官网" class="headerlink" title="1、官网"></a>1、官网</h4><p><strong>网址</strong>: <strong><a href="https://bwh81.net/aff.php?aff=67086">https://bwh81.net</a></strong></p><p>日常6.81%优惠码:<a href="https://bwh81.net/aff.php?aff=67086">BWHNCXNVXV</a></p><p>搬瓦工介绍:<a href="https://blog.laoda.de/archives/vps-bandwagonhost">https://blog.laoda.de/archives/vps-bandwagonhost</a></p><h4 id="2、搬瓦工年付-49-99美元-CN2-GIA套餐补货(最推荐!!!)"><a href="#2、搬瓦工年付-49-99美元-CN2-GIA套餐补货(最推荐!!!)" class="headerlink" title="2、搬瓦工年付$49.99美元 CN2 GIA套餐补货(最推荐!!!)"></a>2、搬瓦工年付$49.99美元 CN2 GIA套餐补货(最推荐!!!)</h4><p>SPECIAL 10G KVM PROMO V5 - LOS ANGELES - CN2 GIA LIMITED EDITION</p><p>三网CN2 GIA(移动去程直连)线路。可选 DC6 CN2 GIA-E、DC9 CN2 GIA、日本软银、荷兰联通 9929 等机房。</p><p>可用机房预览:</p><p><img src="https://img.laoda.de/i/2023/09/13/91awo-0.webp" alt="image-20230913001515552"></p><p>测试IP:65.49.131.102</p><ul><li>内存:512M</li><li>CPU:1核</li><li>硬盘:10G SSD</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$49.99/年(可使用:<a href="https://bwh81.net/aff.php?aff=67086">BWHCCNCXVV</a> 优惠6.78%)</li><li><a href="https://bwh81.net/aff.php?aff=67086&pid=94"><strong>购买链接</strong></a></li></ul><h4 id="3、FREEDOM-PLAN-限量版套餐-不可切换机房(对IP有需求的推荐!!!)"><a href="#3、FREEDOM-PLAN-限量版套餐-不可切换机房(对IP有需求的推荐!!!)" class="headerlink" title="3、FREEDOM PLAN 限量版套餐 -不可切换机房(对IP有需求的推荐!!!)"></a>3、FREEDOM PLAN 限量版套餐 -不可切换机房(对IP有需求的推荐!!!)</h4><p>特色:每两周可免费更换一次 IP 地址。</p><p>网络:三网双程直连,走的都是各自的骨干线路。</p><p>测试 IP:65.49.198.195</p><ul><li>内存:2G</li><li>CPU:2核</li><li>硬盘:40G SSD</li><li>流量:2000G/月</li><li>带宽:2.5Gbps</li><li>价格:$89/年(可使用:<a href="https://bwh81.net/aff.php?aff=67086">BWHCCNCXVV</a> 优惠6.78%)</li><li><a href="https://bwh81.net/aff.php?aff=67086&pid=133"><strong>购买链接</strong></a></li></ul><h4 id="4、DC9-CN2-GIA-限量版-VPS补货"><a href="#4、DC9-CN2-GIA-限量版-VPS补货" class="headerlink" title="4、DC9 CN2 GIA 限量版 VPS补货"></a>4、DC9 CN2 GIA 限量版 VPS补货</h4><p>SPECIAL 20G KVM PROMO V3 - LOS ANGELES - CN2 GIA LIMITED EDITION DC9 VPS</p><p>三网CN2 GIA(移动去程直连)线路。可使用 DC9 CN2 GIA、DC3 CN2 等机房(不能用 DC6、软银、EUNL_9)</p><p>测试IP:65.49.131.102</p><ul><li>内存:1G</li><li>CPU:1核</li><li>硬盘:20G SSD</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$79.99/年(可使用:<a href="https://bwh81.net/aff.php?aff=67086">BWHNCXNVXV </a> 优惠6.58%,折后 $74.73/年)</li><li><a href="https://bwh81.net/aff.php?aff=67086&pid=112"><strong>购买链接</strong></a></li></ul><h4 id="4、DC6-CN2-GIA-E-限量版-VPS-89-9美元款(建站推荐!!!)"><a href="#4、DC6-CN2-GIA-E-限量版-VPS-89-9美元款(建站推荐!!!)" class="headerlink" title="4、DC6 CN2 GIA-E 限量版 VPS - 89.9美元款(建站推荐!!!)"></a>4、DC6 CN2 GIA-E 限量版 VPS - 89.9美元款(建站推荐!!!)</h4><p>三网CN2 GIA(移动去程直连)线路。可切换机房:美西DC6(USCA_6)、DC9(USCA_9)、日本软银 (JPOS_1)、荷兰(EUNL_9)等</p><blockquote><p>目前可在购买后升级到 CN2 GIA-E 40G 限量版,仅需10美元配置翻倍。</p></blockquote><ul><li>内存:1G</li><li>CPU:1核</li><li>硬盘:20G SSD</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$89.99/年(可使用:<a href="https://bwh81.net/aff.php?aff=67086">BWHNCXNVXV</a> 优惠6.81%,折后价83.86美元。)</li><li><a href="https://bwh81.net/aff.php?aff=67086&pid=105"><strong>购买链接</strong></a></li></ul><h4 id="5、日本软银限量版套餐补货"><a href="#5、日本软银限量版套餐补货" class="headerlink" title="5、日本软银限量版套餐补货"></a>5、日本软银限量版套餐补货</h4><p>三网双程都是走的日本软银,此外移动去程为cmi线路。日本软银 (JPOS_1),不可更换机房。</p><ul><li>内存:512M</li><li>CPU:1核</li><li>硬盘:10G SSD(RAID-10)</li><li>流量:500G/月</li><li>带宽:1Gbps</li><li>价格:$69.99/年(可使用:<a href="https://bwh81.net/aff.php?aff=67086">BWHNCXNVXV </a> 优惠6.58%)</li><li><a href="https://bwh81.net/aff.php?aff=67086&pid=104"><strong>购买链接</strong></a></li></ul>]]></content>
<summary type="html"><h3 id="【2024-01-10更新】"><a href="#【2024-01-10更新】" class="headerlink" title="【2024-01-10更新】"></a>【2024-01-10更新】</h3><p><strong>车又来了!</strong></summary>
<category term="VPS推荐" scheme="https://blog.laoda.de/categories/VPS%E6%8E%A8%E8%8D%90/"/>
<category term="搬瓦工" scheme="https://blog.laoda.de/tags/%E6%90%AC%E7%93%A6%E5%B7%A5/"/>
<category term="CN2 GIA" scheme="https://blog.laoda.de/tags/CN2-GIA/"/>
</entry>
<entry>
<title>无惧DDOS,无需开放额外端口,无需服务器,随时随地访问局域网Web应用——Cloudflare Tunnel</title>
<link href="https://blog.laoda.de/archives/cloudflare-tunnel/"/>
<id>https://blog.laoda.de/archives/cloudflare-tunnel/</id>
<published>2023-09-09T12:18:19.000Z</published>
<updated>2023-09-09T13:22:58.000Z</updated>
<content type="html"><![CDATA[<p>利用这个方法,可以让你在局域网(尤其是NAS)上搭建的web应用支持公网访问,成本低而且操作简单!</p><p>如果是博客的话还可以有效防止DDOS攻击!</p><blockquote><p>对于联通用户可能不太友好,据咕咕所知很多地区联通用户访问不了Cloudflare的节点</p></blockquote><h2 id="1-视频"><a href="#1-视频" class="headerlink" title="1. 视频"></a>1. 视频</h2><p>文字比较简略,强烈建议搭配视频食用!</p><p>YouTube:<a href="https://youtu.be/Q_xB3433WTg">https://youtu.be/Q_xB3433WTg</a></p><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1pj411C78j/">https://www.bilibili.com/video/BV1pj411C78j/</a></p><h2 id="2-准备工作"><a href="#2-准备工作" class="headerlink" title="2. 准备工作"></a>2. 准备工作</h2><ul><li>一个域名(推荐<a href="https://loll/cc.ns">Namesilo</a>注册,输入优惠码<code>laodade</code>或者<code>gugugee</code>可以便宜1美元)</li><li>一张外币信用卡或者PayPal</li></ul><h2 id="3-配置域名"><a href="#3-配置域名" class="headerlink" title="3. 配置域名"></a>3. 配置域名</h2><h3 id="3-1-注册Namesilo"><a href="#3-1-注册Namesilo" class="headerlink" title="3.1 注册Namesilo"></a>3.1 注册Namesilo</h3><p><img src="https://img.laoda.de/i/2023/09/09/vq76zf-0.webp" alt="fea8081ce89bea90ea01ef29cd2fce7a.png"></p><h3 id="3-2-注册CloudFlare"><a href="#3-2-注册CloudFlare" class="headerlink" title="3.2 注册CloudFlare"></a>3.2 注册CloudFlare</h3><p><img src="https://img.laoda.de/i/2023/09/09/vr7bz2-0.webp" alt="ab221202a98a188093d1ed8bf1630f5c.png"></p><h3 id="3-3-更换DNS解析"><a href="#3-3-更换DNS解析" class="headerlink" title="3.3 更换DNS解析"></a>3.3 更换DNS解析</h3><p><img src="https://img.laoda.de/i/2023/09/09/w1lfqa-0.webp" alt="image-20230909193757157"></p><h2 id="4-开通CloudFlare-Tunnel"><a href="#4-开通CloudFlare-Tunnel" class="headerlink" title="4. 开通CloudFlare Tunnel"></a>4. 开通CloudFlare Tunnel</h2><p>绑定一个支付方式,实际CF并不会扣钱。</p><p><img src="https://img.laoda.de/i/2023/09/09/xrzzrt-0.webp" alt="2023-09-09-0002"></p><h2 id="5-群晖配置Cloudflared"><a href="#5-群晖配置Cloudflared" class="headerlink" title="5. 群晖配置Cloudflared"></a>5. 群晖配置Cloudflared</h2><h3 id="5-1-使用图形化界面安装Cloudflared"><a href="#5-1-使用图形化界面安装Cloudflared" class="headerlink" title="5.1 使用图形化界面安装Cloudflared"></a>5.1 使用图形化界面安装Cloudflared</h3><p><img src="https://img.laoda.de/i/2023/09/09/vszu81-0.webp" alt="image-20230909192313776"></p><p><img src="https://img.laoda.de/i/2023/09/09/vt5hum-0.webp" alt="image-20230909192339730"></p><p><img src="https://img.laoda.de/i/2023/09/09/vtlx6v-0.webp" alt="image-20230909192415905"></p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">docker run -d --restart=always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token eyJhIjoiNGQ4ZGY0ZjVjODJjYmY0MmUwNjg3NmRmZWZmZmZlODIieLCJ0IjoiODY3YjgzNGMtNWFkYy00O0TI3LTkyN2MtYmQyNWUzYzk5MTUyIiwicyI6Ik1EVmpaalEwT0RVdE1URmlPUzAwTW1JeExUZ3wlOVGNr0TjJFeU9EZzFNV1kxTTJNMyJ9</span><br></pre></td></tr></table></figure><p>命令填:<code>tunnel run --token eyJhIjoiNGQ4ZGY0ZjVjODJjYmY0MmUwNjg3NmRmZWZmZmZlODIieLCJ0IjoiODY3YjgzNGMtNWFkYy00O0TI3LTkyN2MtYmQyNWUzYzk5MTUyIiwicyI6Ik1EVmpaalEwT0RVdE1URmlPUzAwTW1JeExUZ3wlOVGNr0TjJFeU9EZzFNV1kxTTJNMyJ9</code>即可。</p><h3 id="5-2-使用命令行安装Cloudflared(推荐)"><a href="#5-2-使用命令行安装Cloudflared(推荐)" class="headerlink" title="5.2 使用命令行安装Cloudflared(推荐)"></a>5.2 使用命令行安装Cloudflared(推荐)</h3><h4 id="5-2-1-打开SSH"><a href="#5-2-1-打开SSH" class="headerlink" title="5.2.1 打开SSH"></a>5.2.1 打开SSH</h4><p><img src="https://img.laoda.de/i/2023/09/09/vrewat-0.webp" alt="f319dbbe140bba2de1c8672eb28adea3.png"></p><h4 id="5-2-2-运行"><a href="#5-2-2-运行" class="headerlink" title="5.2.2 运行"></a>5.2.2 运行</h4><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">docker run -d --restart=always cloudflare/cloudflared:latest tunnel --no-autoupdate run --token eyJhIjoiNGQ4ZGY0ZjVjODJjYmY0MmUwNjg3NmRmZWZmZmZlODIieLCJ0IjoiODY3YjgzNGMtNWFkYy00O0TI3LTkyN2MtYmQyNWUzYzk5MTUyIiwicyI6Ik1EVmpaalEwT0RVdE1URmlPUzAwTW1JeExUZ3wlOVGNr0TjJFeU9EZzFNV1kxTTJNMyJ9</span><br></pre></td></tr></table></figure><p>这条命令的完整解释如下:</p><ul><li><p><code>docker run</code>: 这是用来启动一个新容器的命令。</p></li><li><p><code>-d</code>: 这个选项让 Docker 在后台运行这个容器,并且返回容器 ID。</p></li><li><p><code>--restart=always</code>: 如上所述,这将设置容器的重启策略为始终重启。</p></li><li><p><code>cloudflare/cloudflared:latest</code>: 这是你想运行的 Docker 镜像。具体来说,你正在运行 Cloudflare 的 <code>cloudflared</code> 镜像的最新版本。</p></li><li><p><code>tunnel --no-autoupdate run --token eyJhI...J9</code>: 这些是传递给 <code>cloudflared</code> 镜像的参数,用于配置和运行你的 tunnel。</p></li></ul><p>这条命令将启动一个新的 <code>cloudflared</code> 容器,这个容器将始终在后台运行,并在停止后自动重新启动。</p><h2 id="6-CF后台配置"><a href="#6-CF后台配置" class="headerlink" title="6. CF后台配置"></a>6. CF后台配置</h2><p><img src="https://img.laoda.de/i/2023/09/09/w6c4s4-0.webp" alt="tunnel-0001"></p><p><img src="https://img.laoda.de/i/2023/09/09/w6o85h-0.webp" alt="tunnel-0003"></p><p><img src="https://img.laoda.de/i/2023/09/09/w6u68w-0.webp" alt="tunnel-0004"></p><p><img src="https://img.laoda.de/i/2023/09/09/w6wb6z-0.webp" alt="tunnel-0005"></p><p><img src="https://img.laoda.de/i/2023/09/09/w78iec-0.webp" alt="tunnel-0006"></p><p><img src="https://img.laoda.de/i/2023/09/09/w7b09s-0.webp" alt="tunnel-0007"></p><h2 id="7-添加额外认证"><a href="#7-添加额外认证" class="headerlink" title="7. 添加额外认证"></a>7. 添加额外认证</h2><p><img src="https://img.laoda.de/i/2023/09/09/w7e4k8-0.webp" alt="tunnel-0008"></p><p><img src="https://img.laoda.de/i/2023/09/09/w7ifp5-0.webp" alt="tunnel-0009"></p><p><img src="https://img.laoda.de/i/2023/09/09/w7suox-0.webp" alt="tunnel-0011"></p><p><img src="https://img.laoda.de/i/2023/09/09/w7uoar-0.webp" alt="tunnel-0012"></p><p><img src="https://img.laoda.de/i/2023/09/09/w7wkpv-0.webp" alt="tunnel-0013"></p><p><img src="https://img.laoda.de/i/2023/09/09/w8195d-0.webp" alt="tunnel-0017"></p>]]></content>
<summary type="html"><p>利用这个方法,可以让你在局域网(尤其是NAS)上搭建的web应用支持公网访问,成本低而且操作简单!</p>
<p>如果是博客的话还可以有效防止DDOS攻击!</p>
<blockquote>
<p>对于联通用户可能不太友好,据咕咕所知很多地区联通用户访问不了Cloudfla</summary>
<category term="有用的小知识" scheme="https://blog.laoda.de/categories/%E6%9C%89%E7%94%A8%E7%9A%84%E5%B0%8F%E7%9F%A5%E8%AF%86/"/>
<category term="NAS" scheme="https://blog.laoda.de/tags/NAS/"/>
<category term="Cloudflare Tunnel" scheme="https://blog.laoda.de/tags/Cloudflare-Tunnel/"/>
</entry>
<entry>
<title>【好玩儿的Docker项目】Nextcloud All-in-One 全新搭建分享,拒绝繁琐配置,开箱即用!维护简单!</title>
<link href="https://blog.laoda.de/archives/docker-compose-install-nextcloud-aio/"/>
<id>https://blog.laoda.de/archives/docker-compose-install-nextcloud-aio/</id>
<published>2023-08-26T01:20:35.000Z</published>
<updated>2023-10-17T16:00:00.000Z</updated>
<content type="html"><![CDATA[<h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><img src="https://img.laoda.de/i/2023/08/25/rbpf7g-0.webp" alt="IMG_9771C6762B1A-1.jpeg" style="zoom:33%;" /><p>百度网盘,咕咕已经好久没用了,准确来说,百度的产品,咕咕已经好久没用了,今天收到了这条短信,打算偷偷用公司的百度会员把之前存的一些老古董学习资料转移备份一波。</p><p>问题来了,东西放哪?</p><p>咕咕目前用的主力存储空间是:</p><ul><li>1T的office 365的Onedrive</li><li>1T的Google One</li><li>2T的iCloud 家庭组</li></ul><p>这些都是第三方的大厂,而且相对来说比较靠谱。</p><p>然而,谷歌也不乏因为用户图库里面有小孩子下体的照片,误判为儿童色情内容,把用户账号封禁的例子。要想要真正把数据掌握在自己手里,还是得多备份。</p><p>或者说,自建一个网盘,多备份。</p><p>Nextcloud是非常有名的开源网盘,功能丰富。</p><p>之前和大家介绍过Nextcloud的搭建方法:</p><p>宝塔版本:</p><p><a href="https://blog.laoda.de/archives/nextcloud-aapanel-install/index.html">【好玩的项目】可能是史上最全的基于宝塔面板(海外版 aapanel)的 Nextcloud 网盘搭建教程!</a></p><p>无面板版本:<br><a href="https://blog.laoda.de/archives/docker-compose-install-nextcloud/index.html">【好玩儿的 Docker 项目】可能是目前全网最完整的 Docker 搭建 Nextcloud 教程(包含安全与设置警告报错信息的解决方法)</a></p><p>以上任意一个搭建方法,搭完之后都要处理一堆的问题,很是累人。</p><p>根据小伙伴们的反馈,用上述方法搭建完成之后,想要装onlyoffice等一些插件也会多多少少遇到一些奇奇怪怪的问题。</p><p>今天我们就来分享如何彻底解决以上安装Nextcloud的痛点。</p><h2 id="2-项目展示"><a href="#2-项目展示" class="headerlink" title="2. 项目展示"></a>2. 项目展示</h2><p>直接丢几个图:</p><img src="https://img.laoda.de/i/2023/08/25/rbrisj-0.webp" alt="5d00cf8124b264eacc182aba357bd3fd.png" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2023/08/25/rbugyf-0.webp" alt="2fb495fb09994de60f232fff0335b16b.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rbvqbx-0.webp" alt="e0ddba048766714b8c2f66c8bfa58369.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rc5xl9-0.webp" alt="348e8be10f8ee969184740aae3df03b9.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rc7cu0-0.webp" alt="4d4f7027061390bac462a74e8f0b6a11.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rc9g7x-0.webp" alt="1b6cf331c449698c1cf0c812814767a6.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcaz1j-0.webp" alt="f9015a710ade4e45cc21e94b37fa2765.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rccdiu-0.webp" alt="039659b98a430182355bcbd237cd502a.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcdn10-0.webp" alt="5955d14f93f6f115c6cb83eb83b6e2ba.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcesnv-0.webp" alt="18bb49ff699fe6c4e401837fa89f96d4.png" style="zoom:33%;" /><h3 id="2-1-特点"><a href="#2-1-特点" class="headerlink" title="2.1 特点"></a>2.1 特点</h3><ul><li>支持docker一键部署,用容器部署容器</li><li>更新简单</li><li>高性能后端</li><li>支持全局搜索</li><li>支持Nextcloud Talk</li><li>支持ClamAV(Nextcloud的杀毒软件后端)</li><li>支持全套办公套件</li><li>支持备份(基于BorgBackup)</li><li>省心省力</li><li>文档及其丰富(各种地方的搭建教程均有)<br>……</li></ul><h2 id="3-相关地址"><a href="#3-相关地址" class="headerlink" title="3. 相关地址"></a>3. 相关地址</h2><p>GitHub官方仓库:<a href="https://github.com/nextcloud/all-in-one">https://github.com/nextcloud/all-in-one</a><br>官方Docker镜像:<a href="https://hub.docker.com/r/nextcloud/all-in-one">https://hub.docker.com/r/nextcloud/all-in-one</a><br>官方反代相关文档地址:<a href="https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md">https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md</a> (支持各种反代)</p><h2 id="4-搭建环境"><a href="#4-搭建环境" class="headerlink" title="4. 搭建环境"></a>4. 搭建环境</h2><ul><li>服务器:<del>腾讯香港轻量应用服务器 24 元 / 月 VPS 一台</del> 咕咕演示搭建用的是香港的<a href="https://loll.cc/tx">腾讯轻量应用服务器</a> ,(最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择<a href="https://blog.laoda.de/vps/">Racknerd</a>的高性价比服务器(注意地区选美国西部城市的)</li><li>系统:Debian 11 (<a href="https://blog.laoda.de/archives/useful-script/">DD 脚本</a> 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)</li><li>安装好 Docker、Docker-compose(<a href="https://blog.laoda.de/archives/hello-docker/">相关脚本</a>)</li><li>【非必需但建议】域名一枚,并做好解析到服务器上(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</li><li>【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(<a href="https://forum.aapanel.com/d/9-aapanel-linux-panel-6812-installation-tutorial">安装地址</a>)</li><li>【非必需本教程选用】安装好 Nginx Proxy Manager(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>)</li></ul><blockquote><p>服务器要求:内存建议2G以上,越大越好!硬盘也是越大越好</p></blockquote><h2 id="5-搭建视频"><a href="#5-搭建视频" class="headerlink" title="5. 搭建视频"></a>5. 搭建视频</h2><h3 id="5-1-YouTube"><a href="#5-1-YouTube" class="headerlink" title="5.1 YouTube"></a>5.1 YouTube</h3><p>视频地址:<a href="https://youtu.be/CapStYi-Djs">https://youtu.be/CapStYi-Djs</a></p><h3 id="5-2-哔哩哔哩"><a href="#5-2-哔哩哔哩" class="headerlink" title="5.2 哔哩哔哩"></a>5.2 哔哩哔哩</h3><p>哔哩哔哩:<a href="https://www.bilibili.com/video/BV1Yu4y1X7yX">https://www.bilibili.com/video/BV1Yu4y1X7yX</a></p><h2 id="6-搭建方式"><a href="#6-搭建方式" class="headerlink" title="6. 搭建方式"></a>6. 搭建方式</h2><p>如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。</p><h3 id="安装系统(腾讯云轻量应用服务器)"><a href="#安装系统(腾讯云轻量应用服务器)" class="headerlink" title="安装系统(腾讯云轻量应用服务器)"></a>安装系统(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlyhcz-2.webp" alt="e59713fba8726d3cb55ae11bca83fe3c.png" style="zoom:33%;" /><p>腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 <del>(如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源)</del> 不建议用国内的 。</p><h3 id="登陆(腾讯云轻量应用服务器)"><a href="#登陆(腾讯云轻量应用服务器)" class="headerlink" title="登陆(腾讯云轻量应用服务器)"></a>登陆(腾讯云轻量应用服务器)</h3><img src="https://img.laoda.de/i/2022/08/16/zlzlj7-2.webp" alt="2722040ee311eb4a9ebf2a4945bf38f4.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm0gv8-2.webp" alt="c0b5d360053746c4095d592967ee401f.png" style="zoom:25%;" /><img src="https://img.laoda.de/i/2022/08/16/zm1vqw-2.webp" alt="e0ba858f021b846ad0abc27acf5008c2.png" style="zoom:25%;" /><h3 id="6-1-安装-Docker-与-Nginx-Proxy-Manager"><a href="#6-1-安装-Docker-与-Nginx-Proxy-Manager" class="headerlink" title="6.1 安装 Docker 与 Nginx Proxy Manager"></a>6.1 安装 Docker 与 Nginx Proxy Manager</h3><p>可以直接参考这篇内容:</p><p><a href="https://blog.laoda.de/archives/nginxproxymanager/">https://blog.laoda.de/archives/nginxproxymanager/</a></p><h3 id="6-2-创建安装目录"><a href="#6-2-创建安装目录" class="headerlink" title="6.2 创建安装目录"></a>6.2 创建安装目录</h3><p>创建一下安装的目录:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">sudo -i</span><br><span class="line"></span><br><span class="line"><span class="built_in">mkdir</span> -p /root/data/docker_data/aio-nextcloud</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> /root/data/docker_data/aio-nextcloud</span><br><span class="line"></span><br></pre></td></tr></table></figure><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">vim docker-compose.yml</span><br></pre></td></tr></table></figure><p>英文输入法下,按 <code>i</code></p><p>以下是咕咕修改的,可以看看有啥不一样(具体见视频)</p><figure class="highlight yaml"><table><tr><td class="code"><pre><span class="line"><span class="attr">version:</span> <span class="string">"3.8"</span></span><br><span class="line"></span><br><span class="line"><span class="attr">volumes:</span></span><br><span class="line"> <span class="attr">nextcloud_aio_mastercontainer:</span></span><br><span class="line"> <span class="attr">name:</span> <span class="string">nextcloud_aio_mastercontainer</span></span><br><span class="line"><span class="attr">services:</span></span><br><span class="line"> <span class="attr">nextcloud:</span></span><br><span class="line"> <span class="attr">image:</span> <span class="string">nextcloud/all-in-one:latest</span></span><br><span class="line"> <span class="attr">restart:</span> <span class="string">unless-stopped</span></span><br><span class="line"> <span class="attr">container_name:</span> <span class="string">nextcloud-aio-mastercontainer</span></span><br><span class="line"> <span class="attr">volumes:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">nextcloud_aio_mastercontainer:/mnt/docker-aio-config</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">/var/run/docker.sock:/var/run/docker.sock:ro</span></span><br><span class="line"> <span class="attr">ports:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="number">8090</span><span class="string">:8080</span> <span class="comment"># change the port on the left side if it's already in use on your host system.</span></span><br><span class="line"> <span class="attr">environment:</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APACHE_PORT=11000</span> <span class="comment"># change this port number if 11000 is already in use on your host system.</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">APACHE_DISABLE_REWRITE_IP=1</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">NEXTCLOUD_TRUSTED_DOMAINS=pan.gugu.ovh</span> <span class="number">31.22</span><span class="number">.109</span><span class="number">.18</span> <span class="comment"># Your domain name + proxy host IP</span></span><br><span class="line"> <span class="bullet">-</span> <span class="string">TRUSTED_PROXIES=31.22.109.18</span> <span class="comment"># proxy host IP</span></span><br></pre></td></tr></table></figure><p>大家修改好之后,注意切换成英文输入法,然后按一下 <code>esc</code>,然后 <code>:wq</code> 保存退出。</p><h3 id="6-3-打开服务器防火墙(非必需)并访问网页"><a href="#6-3-打开服务器防火墙(非必需)并访问网页" class="headerlink" title="6.3 打开服务器防火墙(非必需)并访问网页"></a>6.3 打开服务器防火墙(非必需)并访问网页</h3><p>打开防火墙的端口 <code>8090</code>和<code>11000</code></p><p>举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):</p><img src="https://img.laoda.de/i/2022/06/30/zlio5h-2.webp" alt="image-20220630215240864" style="zoom: 25%;" /><img src="https://img.laoda.de/i/2022/06/30/10h3dqt-2.webp" alt="image-20220630220546335" style="zoom: 25%;" /><p>图中示例填的是 <code>5230</code>,备注填的是 <code>memos</code>,这边我们填 <code>8090</code>,示例填 <code>aio-nextcloud</code> ,确定即可(如果你在 docker-compose 文件里换了 <code>9009</code>,这边就需要填 <code>9009</code>,以此类推)</p><img src="https://img.laoda.de/i/2022/08/19/o4byqz-2.webp" alt="image-20220819145844555" style="zoom: 25%;" /><p>查看端口是否被占用(以 <code>8090</code> 为例),输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">lsof -i:8090 <span class="comment">#查看 8090 端口是否被占用,如果被占用,重新自定义一个端口</span></span><br></pre></td></tr></table></figure><p>如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~</p><p>如果出现:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">-bash: lsof: <span class="built_in">command</span> not found</span><br></pre></td></tr></table></figure><p>运行:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">apt install lsof <span class="comment">#安装 lsof</span></span><br></pre></td></tr></table></figure><p>如果端口没有被占用(被占用了就修改一下端口,比如改成 <code>8081</code>,注意 docker 命令行里和防火墙都要改)</p><p>理论上我们就可以输入 <code>http://ip:8090</code> 访问了。</p><p>但是这边我们需要先搞一下反向代理!</p><p>做反向代理前,你需要一个域名!</p><p> <a href="https://loll.cc/ns">namesilo</a> 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)</p><p>如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 <code>laodade</code> 来获得 1 美元的优惠(不知道现在还有没有)</p><p><a href="https://loll.cc/ns">namesilo</a> 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些<del>丑</del> 古老 = =)</p><p><a href="https://blog.laoda.de/archives/namesilo/">【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)</a></p><p>我们接着往下看!</p><h2 id="7-反向代理"><a href="#7-反向代理" class="headerlink" title="7. 反向代理"></a>7. 反向代理</h2><h3 id="7-1-利用-Nginx-Proxy-Manager"><a href="#7-1-利用-Nginx-Proxy-Manager" class="headerlink" title="7.1 利用 Nginx Proxy Manager"></a>7.1 利用 Nginx Proxy Manager</h3><p>在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:<strong>域名一枚,并做好解析到服务器上</strong>(<a href="https://blog.laoda.de/archives/namesilo/">域名购买、域名解析</a> <a href="https://www.bilibili.com/video/BV1Sy4y1k7kZ/">视频教程</a>)</p><img src="https://img.laoda.de/i/2022/10/16/n6t02e-2.webp" alt="image-20221016140213282" style="zoom:33%;" /><p>之后,登陆 Nginx Proxy Manager(不会的看这个:<strong>安装 Nginx Proxy Manager</strong>(<a href="https://blog.laoda.de/archives/nginxproxymanager/">相关教程</a>))</p><blockquote><p><strong>注意:</strong></p><p>Nginx Proxy Manager(以下简称 NPM)会用到 <code>80</code>、<code>443</code> 端口,所以本机不能占用(比如原来就有 Nginx)</p></blockquote><p>直接丢几张图:</p><img src="https://img.laoda.de/i/2023/08/25/rcrfvt-0.webp" alt="c1352ab7d41b750af109fe70df9838fb.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcsx5o-0.webp" alt="a289ca549a9d1d79348aefac66486f2e.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcuk4b-0.webp" alt="e1f240a840f498e5869a29dc0f9348bd.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/rcvy7u-0.webp" alt="b8c1b61838dc0ca9a2c6d8d220fb97d5.png" style="zoom:33%;" /><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="attribute">client_body_buffer_size</span> <span class="number">512k</span>;</span><br><span class="line"><span class="attribute">proxy_read_timeout</span> <span class="number">86400s</span>;</span><br><span class="line"><span class="attribute">client_max_body_size</span> <span class="number">0</span>;</span><br></pre></td></tr></table></figure><blockquote><p>注意填写对应的 <code>域名</code>、<code>IP</code> 和 <code>端口</code>,按文章来的话,应该是 <code>11000</code></p></blockquote><p><strong>IP 填写:</strong></p><p>如果 Nginx Proxy Manager 和 aio-nextcloud 在同一台服务器上,可以在终端输入:</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line">ip addr show docker0</span><br></pre></td></tr></table></figure><p>查看对应的 Docker 容器内部 IP。</p><img src="https://img.laoda.de/i/2022/09/29/pcdnz5-2.webp" style="zoom:50%;" /><p>否则直接填 <code>aio-nextcloud</code> 所在的服务器 IP 就行。</p><img src="https://img.laoda.de/i/2022/04/03/h9azjx_7.webp" alt="image-20220403104353185" style="zoom: 33%;" /><p>然后输入:<a href="https://ip:8090/">https://ip:8090</a> 进入安装页面。</p><h3 id="7-2-利用宝塔面板"><a href="#7-2-利用宝塔面板" class="headerlink" title="7.2 利用宝塔面板"></a>7.2 利用宝塔面板</h3><p>发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:</p><p>直接新建一个站点,不要数据库,不要 php,纯静态即可。</p><p>然后打开下面的配置,修改 Nginx 的配置。</p><img src="https://img.laoda.de/i/2022/08/19/ov4xrt-2.webp" alt="image-20220819150345725" style="zoom: 33%;" /><img src="https://img.laoda.de/i/2022/08/19/owbbkb-2.webp" alt="image-20220819150542867" style="zoom: 33%;" /><p>代码如下:</p><figure class="highlight nginx"><table><tr><td class="code"><pre><span class="line"><span class="section">location</span> / {</span><br><span class="line"> <span class="attribute">proxy_pass</span> http://127.0.0.1:11000/; <span class="comment"># 注意改成你实际使用的端口</span></span><br><span class="line"> <span class="attribute">rewrite</span><span class="regexp"> ^/(.*)$</span> /<span class="variable">$1</span> <span class="literal">break</span>;</span><br><span class="line"> <span class="attribute">proxy_redirect</span> <span class="literal">off</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Host <span class="variable">$host</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto <span class="variable">$scheme</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Real-IP <span class="variable">$remote_addr</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-For <span class="variable">$proxy_add_x_forwarded_for</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> Upgrade-Insecure-Requests <span class="number">1</span>;</span><br><span class="line"> <span class="attribute">proxy_set_header</span> X-Forwarded-Proto https;</span><br><span class="line">}</span><br></pre></td></tr></table></figure><p>此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。</p><p>有同学可能会问,为什么不直接用宝塔自带的反向代理功能。</p><img src="https://img.laoda.de/i/2022/08/19/oxf800-2.webp" alt="image-20220819150730128" style="zoom: 33%;" /><p>也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =</p><p>所以后来就不用了,直接用上面的方法来操作了。</p><h2 id="8-使用教程"><a href="#8-使用教程" class="headerlink" title="8. 使用教程"></a>8. 使用教程</h2><p>建议参考视频,或者结合官方文档食用:<a href="https://github.com/nextcloud/all-in-one">https://github.com/nextcloud/all-in-one</a></p><h3 id="8-1-登录"><a href="#8-1-登录" class="headerlink" title="8.1 登录"></a>8.1 登录</h3><p>输入<code>https://ip:8090</code>,登录nextcloud后台安装页面。</p><p>记住这个密码:</p><img src="https://img.laoda.de/i/2023/08/25/rddvv2-0.webp" alt="403eecf1f240d71c1fb50ed58b6bc92e.png" style="zoom: 33%;" /><p>输入密码:</p><img src="https://img.laoda.de/i/2023/08/25/rdflfi-0.webp" alt="04a2c5341a79f40a5452faa45c466001.png" style="zoom:33%;" /><p>输入你在<code>docker-compose.yml</code>填的域名:</p><img src="https://img.laoda.de/i/2023/08/25/rdi7xw-0.webp" alt="692c6b9a57842b0f893f68d83bb3ac26.png" style="zoom:33%;" /><p>选择想要额外安装的容器(我这边全选了,注意全选的话内存官方建议8G以上)</p><img src="https://img.laoda.de/i/2023/08/25/rdjszs-0.webp" alt="ed7035cb2b4d39a1aecf14b03880bc09.png" style="zoom:33%;" /><p>等全绿了说明安装好了,这个过程根据你服务器的性能时间长短不一,慢的可能要10分钟。</p><img src="https://img.laoda.de/i/2023/08/25/re5x6j-0.webp" alt="2ee0014bea22791be8fea1c10aa99044.png" style="zoom:33%;" /><p>耐心等待之后,搞定啦!</p><img src="https://img.laoda.de/i/2023/08/25/re7vkj-0.webp" alt="21bdcf0cb22e65f6a1b42efd6a835eef.png" style="zoom:33%;" /><h3 id="8-2-更新-aio-nextcloud"><a href="#8-2-更新-aio-nextcloud" class="headerlink" title="8.2 更新 aio-nextcloud"></a>8.2 更新 aio-nextcloud</h3><p>同样进入安装页面,点击更新即可。</p><h3 id="8-3-卸载-aio-nextcloud"><a href="#8-3-卸载-aio-nextcloud" class="headerlink" title="8.3 卸载 aio-nextcloud"></a>8.3 卸载 aio-nextcloud</h3><p>同样进入安装页面,先停止所有容器。</p><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">cd</span> /root/data/docker_data/aio-nextcloud</span><br><span class="line"></span><br><span class="line">docker-compose down</span><br><span class="line"></span><br><span class="line"><span class="built_in">cd</span> ..</span><br><span class="line"></span><br><span class="line"><span class="built_in">rm</span> -rf /root/data/docker_data/aio-nextcloud <span class="comment"># 完全删除映射到本地的数据</span></span><br></pre></td></tr></table></figure><p>你还需要查看一下volume,删除volume。</p><p>可以卸载得很干净。</p><h2 id="9-常见问题"><a href="#9-常见问题" class="headerlink" title="9. 常见问题"></a>9. 常见问题</h2><h3 id="9-1-导出数据插件似乎有问题"><a href="#9-1-导出数据插件似乎有问题" class="headerlink" title="9.1 导出数据插件似乎有问题"></a>9.1 导出数据插件似乎有问题</h3><img src="https://img.laoda.de/i/2023/08/25/reaatk-0.webp" alt="b280834aa5396bbb25e508e1c999eed1.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/s4haku-0.webp" alt="3d2724e28a18c0fafb237ec58880c923.png" style="zoom:33%;" /><h3 id="9-2-迁移服务器很丝滑"><a href="#9-2-迁移服务器很丝滑" class="headerlink" title="9.2 迁移服务器很丝滑"></a>9.2 迁移服务器很丝滑</h3><p>咕咕实测很顺利,主要就是找到你备份的那个borg文件夹位置(备份的密码也千万记得),把他迁移到新的服务器上,然后重新运行一下<code>docker-compose.yml</code>文件即可</p><p>登录安装页面之后,选择恢复文件(注意选对borg的路径),输入密码,后台就会先起一个borg的容器,等备份恢复了之后,再次登录安装页面,再启动其他的容器即可。</p><p>下面是几张咕咕自测的参考图:</p><img src="https://img.laoda.de/i/2023/08/25/s4x05z-0.webp" alt="002f91235efbdd321995f71877645c16.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/s6tp39-0.webp" alt="1f7eeac788a7110a479e7238ab2512e2.png" style="zoom:33%;" /><img src="https://img.laoda.de/i/2023/08/25/s74w6e-0.webp" alt="17348b5f7579b56c827631cf75fbfe47.png" style="zoom:33%;" /><h3 id="9-3-删除备份(更换备份文件夹路径)"><a href="#9-3-删除备份(更换备份文件夹路径)" class="headerlink" title="9.3 删除备份(更换备份文件夹路径)"></a>9.3 删除备份(更换备份文件夹路径)</h3><p>本地先删除原来的borg文件夹,然后在服务器输入<code>sudo docker exec nextcloud-aio-mastercontainer rm /mnt/docker-aio-config/data/borg.config</code> 之后通过Nextcloud后台进入管理页面:</p><img src="https://img.laoda.de/i/2023/09/19/nnja10-0.webp" alt="image-20230919143024342" style="zoom:50%;" /><p>就可以重新设置一个备份目录了。</p><h2 id="10-结尾"><a href="#10-结尾" class="headerlink" title="10. 结尾"></a>10. 结尾</h2><p>祝大家用得开心,有问题可以去 GitHub 提 <a href="https://github.com/nextcloud/all-in-one/issues">Issues</a>,也可以在评论区互相交流探讨。</p><p>同时,有能力给项目做贡献的同学,也欢迎积极加入到 <a href="https://github.com/nextcloud/all-in-one">项目</a> 中来,贡献自己的一份力量!</p><p>最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!</p><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><p>GitHub官方仓库:<a href="https://github.com/nextcloud/all-in-one">https://github.com/nextcloud/all-in-one</a><br>官方Docker镜像地址:hub.docker.com/r/nextcloud/all-in-one</p>]]></content>
<summary type="html"><h2 id="1-前言"><a href="#1-前言" class="headerlink" title="1.前言"></a>1.前言</h2><img src="https://img.laoda.de/i/2023/08/25/rbpf7g-0.webp" alt="I</summary>
<category term="Docker系列" scheme="https://blog.laoda.de/categories/Docker%E7%B3%BB%E5%88%97/"/>
<category term="DockerCompose" scheme="https://blog.laoda.de/tags/DockerCompose/"/>
<category term="Docker部署" scheme="https://blog.laoda.de/tags/Docker%E9%83%A8%E7%BD%B2/"/>
<category term="Nextcloud" scheme="https://blog.laoda.de/tags/Nextcloud/"/>
<category term="开源网盘" scheme="https://blog.laoda.de/tags/%E5%BC%80%E6%BA%90%E7%BD%91%E7%9B%98/"/>
</entry>
</feed>