-
Notifications
You must be signed in to change notification settings - Fork 0
/
selfhosted.json
1411 lines (1411 loc) · 204 KB
/
selfhosted.json
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
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"version": "https://jsonfeed.org/version/1.1",
"title": "r/selfhosted",
"description": "A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.",
"home_page_url": "https://reddit.com",
"feed_url": "https://raw.githubusercontent.com/jonathanlaniado/feeds/master/selfhosted.json",
"icon": "https://styles.redditmedia.com/t5_32hch/styles/communityIcon_b2t5inv46z331.png",
"favicon": "https://styles.redditmedia.com/t5_32hch/styles/communityIcon_b2t5inv46z331.png",
"items": [
{
"id": "1gqpo70",
"url": "/r/selfhosted/comments/1gqpo70/tteck_has_passed_away/",
"external_url": "https://github.com/community-scripts/ProxmoxVE/discussions/237",
"title": "TTeck has passed away",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gqpo70/tteck_has_passed_away/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gqpo70/tteck_has_passed_away/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-11-13T22:36:29+00:00",
"authors": [
{
"name": "-eschguy-",
"url": "https://www.reddit.com/user/-eschguy-"
}
]
},
{
"id": "1gqc9b4",
"url": "/r/selfhosted/comments/1gqc9b4/sick_of_overpaying_for_aws/",
"external_url": "https://i.redd.it/hifni8ea2o0e1.jpeg",
"title": "Sick of overpaying for AWS",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gqc9b4/sick_of_overpaying_for_aws/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gqc9b4/sick_of_overpaying_for_aws/'>Reddit</a></caption><div><br></div><p>I have a few domains with low traffic, and I have it all in one instance of the cheapest, smallest AWS instances, but with storage, traffic and load balancer I end up paying a lot of money every month.</p>\n<p>So as I move to upgrade my main PC, I'll take my previous PC and turn it into my self hosted environment. I already have static IP with a solid ISP, and I'm buying a new PC anyways, so why not.</p>\n<p>I have some very specific needs, so this is what I'm doing:</p>\n<p>The PC on the left is my physics simulation machine. Not part of the setup. </p>\n<p>The one in the middle is my old PC. It now has Windows 11, running source control and CI. It also has VirtualBox with two (for now VMs).</p>\n<p>The first VM is an OpenBSD load balancer, which is the one that is connected to the outside world. Relayd does the reverse proxying with SNI, and the SSL certificates are provided by letsencrypt.</p>\n<p>The second VM is an Ubuntu Server machine, with a full LAMP attack for the various websites I have.</p>\n<p>The box on the right is a NAS, keeping backups of my source code, backups of the VM, and the daily builds of my game. </p>\n<p>Moving forward I'll only be using AWS for domain registration and DNS, but I may even move that somewhere else. </p>\n<p>What do you think of my setup?</p><div><br></div><img src=\"https://i.redd.it/hifni8ea2o0e1.jpeg\" />",
"date_published": "2024-11-13T12:57:07+00:00",
"authors": [
{
"name": "pandapajama",
"url": "https://www.reddit.com/user/pandapajama"
}
]
},
{
"id": "1gq8sg4",
"url": "/r/selfhosted/comments/1gq8sg4/genesis_of_cybersecurity/",
"external_url": "https://i.redd.it/h4clu5h3wm0e1.png",
"title": "Genesis of cybersecurity",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gq8sg4/genesis_of_cybersecurity/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gq8sg4/genesis_of_cybersecurity/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/h4clu5h3wm0e1.png\" />",
"date_published": "2024-11-13T09:03:16+00:00",
"authors": [
{
"name": "reddit_lanre",
"url": "https://www.reddit.com/user/reddit_lanre"
}
]
},
{
"id": "1gpwuir",
"url": "/r/selfhosted/comments/1gpwuir/a_threat_actor_attempted_to_slipstream_a_malware/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1gpwuir/a_threat_actor_attempted_to_slipstream_a_malware/",
"title": "A threat actor attempted to slipstream a malware payload into yt-dlp's GitHub repo",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gpwuir/a_threat_actor_attempted_to_slipstream_a_malware/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gpwuir/a_threat_actor_attempted_to_slipstream_a_malware/'>Reddit</a></caption><div><br></div><p>I thought the subreddit might find this interesting. I came across this thread on X:</p>\n<p>https://x.com/vxunderground/status/1856450468945506615</p>",
"date_published": "2024-11-12T22:02:52+00:00",
"authors": [
{
"name": "2sXy",
"url": "https://www.reddit.com/user/2sXy"
}
]
},
{
"id": "1gplrtk",
"url": "/r/selfhosted/comments/1gplrtk/ever_been_turned_off_on_an_app_because_of_the/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1gplrtk/ever_been_turned_off_on_an_app_because_of_the/",
"title": "Ever been turned off on an app because of the developer's behavior?",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gplrtk/ever_been_turned_off_on_an_app_because_of_the/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gplrtk/ever_been_turned_off_on_an_app_because_of_the/'>Reddit</a></caption><div><br></div><p>After a ridiculous back-and-forth with the Grocy developer (who called me \"stupid AF\" after I deleted a post on Reddit [A question with a one line answer that probably wouldn't have helped anyone else] and continued to insult me, I decided to look back at Tandoor and Mealie instead.</p>\n<p>So my question to you all is: What are your developer horror stories in the Self Hosted world? </p>\n<p>Conversely, are there any apps that are so good that you are willing to overlook a difficult, vocal developer?</p>",
"date_published": "2024-11-12T14:20:23+00:00",
"authors": [
{
"name": "Purdue49OSU20",
"url": "https://www.reddit.com/user/Purdue49OSU20"
}
]
},
{
"id": "1gpjzvl",
"url": "/r/selfhosted/comments/1gpjzvl/tooljet_30_opencore_lowcode_platform_for_building/",
"external_url": "https://blog.tooljet.com/tooljet-3-0-announcement/",
"title": "ToolJet 3.0 - Open-core low-code platform for building business applications. Now with workflow automation, improved performance, 50+ integrations, in-built database and more security features. Deploy using Docker, k8s, AWS AMI & more! Alternative to Retool, Power Apps & OutSystems.",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gpjzvl/tooljet_30_opencore_lowcode_platform_for_building/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gpjzvl/tooljet_30_opencore_lowcode_platform_for_building/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-11-12T12:51:32+00:00",
"authors": [
{
"name": "navaneethpk",
"url": "https://www.reddit.com/user/navaneethpk"
}
]
},
{
"id": "1gow9jb",
"url": "/r/selfhosted/comments/1gow9jb/launched_my_side_project_on_a_selfhosted_m1_mac/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1gow9jb/launched_my_side_project_on_a_selfhosted_m1_mac/",
"title": "Launched my side project on a self-hosted M1 Mac Mini - Here's what happened when hundreds of users showed up",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gow9jb/launched_my_side_project_on_a_selfhosted_m1_mac/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gow9jb/launched_my_side_project_on_a_selfhosted_m1_mac/'>Reddit</a></caption><div><br></div><p>Everyone talks about how easy it is to spin up cloud instances for new projects, but I wanted to try something different. I bought an M1 Mac Mini on Facebook Marketplace for $250, set it up as a home server, and launched my project last week.</p>\n<p>Figured you all might be interested in some real-world performance data:</p>\n<ul>\n<li>First 48 hours: \\~3k sessions from users across US, Europe, Australia, and even a user in Cambodia added some listings</li>\n<li>CPU stayed under 10% the whole time (M1 chip is seriously impressive)</li>\n<li>Memory usage remained stable</li>\n<li>Monthly costs: about $2 in electricity</li>\n</ul>\n<p>Nothing fancy in the setup:</p>\n<ul>\n<li>M1 Mac Mini</li>\n<li>Everything runs in Docker containers</li>\n<li>nginx reverse proxy X CloudFlare dynamic DNS</li>\n<li>Regular backups to external drives</li>\n</ul>\n<p>Yeah, there are trade-offs (home internet isn't AWS global infrastructure), but for a bootstrapped project that needs time to grow, it's working surprisingly well.</p>\n<p>Wrote up the technical details here if anyone's curious: <a href=\"https://workhub.so/lab/running-your-app-on-pocket-change\">link</a></p>",
"date_published": "2024-11-11T16:29:32+00:00",
"authors": [
{
"name": "No_Paramedic_4881",
"url": "https://www.reddit.com/user/No_Paramedic_4881"
}
]
},
{
"id": "1go3qm8",
"url": "/r/selfhosted/comments/1go3qm8/puter_the_selfhostable_web_os_that_ive_been/",
"external_url": "https://github.com/heyputer/puter",
"title": "Puter: The self-hostable \"Web OS\" that I've been working on for more than 3 years",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1go3qm8/puter_the_selfhostable_web_os_that_ive_been/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1go3qm8/puter_the_selfhostable_web_os_that_ive_been/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-11-10T15:56:56+00:00",
"authors": [
{
"name": "mitousa",
"url": "https://www.reddit.com/user/mitousa"
}
]
},
{
"id": "1gnb5nx",
"url": "/r/selfhosted/comments/1gnb5nx/windows_inside_a_docker_container/",
"external_url": "https://github.com/dockur/windows",
"title": "Windows Inside a Docker Container",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gnb5nx/windows_inside_a_docker_container/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gnb5nx/windows_inside_a_docker_container/'>Reddit</a></caption><div><br></div><p>I just came across this. What in the world? Actually impressed and going to start using it on my Unraid server for shits and giggles.</p>\n<p>P.s. There is also a Macos version lmao</p>",
"date_published": "2024-11-09T14:22:59+00:00",
"authors": [
{
"name": "UnmannedMedia",
"url": "https://www.reddit.com/user/UnmannedMedia"
}
]
},
{
"id": "1glf06d",
"url": "/r/selfhosted/comments/1glf06d/official_v100_release_of_scraperr_the_selfhosted/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1glf06d/official_v100_release_of_scraperr_the_selfhosted/",
"title": "Official v1.0.0 Release of Scraperr, the self-hosted webscraperr",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1glf06d/official_v100_release_of_scraperr_the_selfhosted/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1glf06d/official_v100_release_of_scraperr_the_selfhosted/'>Reddit</a></caption><div><br></div><p>Hello everyone, just letting you guys know that I have published the first release of Scraperr, my self-hosted webscraper. If you have seen this project before, thats awesome, if not let me tell you about it. </p>\n<p>This is a fully functional webscraper, created with Next.js and Python, which allows easy scraping of webpages using xpaths. It has a decoupled frontend and backend, which means that you can spin the API up by itself, and submit jobs to it for your own project.</p>\n<p>Please leave comments with feedback or suggestions, or leave an issue on Github. Thanks.</p>\n<p><a href=\"https://github.com/jaypyles/Scraperr\">https://github.com/jaypyles/Scraperr</a></p>\n<p><a href=\"https://preview.redd.it/uloc9me8udzd1.png?width=2551&format=png&auto=webp&s=97aaeef342dfb18a31b5dfa518ffc286f5d5b5bc\">Frontpage of the scraper</a></p>\n<p><a href=\"https://preview.redd.it/1ud0hmvbudzd1.png?width=2484&format=png&auto=webp&s=9e57c4b0b752821f5b4e96d29fd82bd692172308\">An example job which scraped all comments from a post on Hacker News</a></p>",
"date_published": "2024-11-07T01:30:57+00:00",
"authors": [
{
"name": "bluesanoo",
"url": "https://www.reddit.com/user/bluesanoo"
}
]
},
{
"id": "1gkdmy5",
"url": "/r/selfhosted/comments/1gkdmy5/duplicacy_self_hosted_backup_software_releases/",
"external_url": "https://github.com/gilbertchen/duplicacy/releases/tag/v3.2.4",
"title": "Duplicacy (self hosted backup software) releases it's first update in a year!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1gkdmy5/duplicacy_self_hosted_backup_software_releases/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1gkdmy5/duplicacy_self_hosted_backup_software_releases/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-11-05T18:30:42+00:00",
"authors": [
{
"name": "gene_wood",
"url": "https://www.reddit.com/user/gene_wood"
}
]
},
{
"id": "1fi3uxw",
"url": "/r/selfhosted/comments/1fi3uxw/davoice_opensource_react_native_code_for_wakeword/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fi3uxw/davoice_opensource_react_native_code_for_wakeword/",
"title": "DaVoice - Open-source React Native code for WakeWord Detection",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fi3uxw/davoice_opensource_react_native_code_for_wakeword/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fi3uxw/davoice_opensource_react_native_code_for_wakeword/'>Reddit</a></caption><div><br></div><p>Hi all,</p>\n<p>I'm part of the development team at DaVoice.io developing WakeWords detection / KeywordsDetection.</p>\n<p>We're excited to share our project with the community and would love to get your feedback and welcome any contributors! \ud83d\ude0a</p>\n<p>GitHub Repository: <a href=\"https://github.com/frymanofer/ReactNative_WakeWordDetection\">ReactNative_WakeWordDetection</a></p>\n<p>We initiated this project to provide a more accurate and efficient wake word detection platform for React Native developers. While existing solutions like Snowboy, PocketSphinx, and Sensory have been valuable to the community, we saw an opportunity to create a modern alternative that meets current performance and usability standards. Picovoice Porcupine is a notable exception with its model platform, and we appreciate its contribution to the field.</p>\n<p>Unlike cloud-based solutions such as AWS, our platform operates entirely on-device, ensuring data privacy and offering immediate setup for custom keywords without long waiting periods.</p>\n<p>Key Features:</p>\n<ul>\n<li>Ensuring Privacy - We are running On-Device. No data is transferred over the internet, ensuring user conversations remain private!</li>\n<li>Superior Accuracy with low footprint and low resource consumptions: Benchmarked against leading competitors, our technology offers the necessary superior\u2014accuracy for user satisfaction, making it ideal for real-world applications.</li>\n<li>Ease of Implementation: Super straightforward to integrate into your React Native projects. With clear examples and minimal code, you can have keyword detection up and running in no time.</li>\n<li>Cross-Platform Support: Fully compatible with both iOS and Android in React Native.</li>\n<li>Low Latency: Experience near-instantaneous keyword detection without lag.</li>\n</ul>\n<p>Tech Stack:</p>\n<ul>\n<li>React Native</li>\n<li>ONNX Runtime</li>\n<li>JavaScript/TypeScript</li>\n<li>Native Modules for iOS and Android</li>\n</ul>\n<p>Email: <a href=\"mailto:[email protected]\">[email protected]</a></p>\n<p>Happy coding, and we're looking forward to your feedback and contributions! \ud83c\udf89</p>",
"date_published": "2024-09-16T12:53:55+00:00",
"authors": [
{
"name": "Solokdsa56456",
"url": "https://www.reddit.com/user/Solokdsa56456"
}
]
},
{
"id": "1fhsm6x",
"url": "/r/selfhosted/comments/1fhsm6x/retrom_a_selfhosted_emulation_library_service_and/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fhsm6x/retrom_a_selfhosted_emulation_library_service_and/",
"title": "Retrom - A Self-Hosted Emulation Library Service and Frontend",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fhsm6x/retrom_a_selfhosted_emulation_library_service_and/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fhsm6x/retrom_a_selfhosted_emulation_library_service_and/'>Reddit</a></caption><div><br></div><p>Hey all, I'm here to share a new project I've been working on for the last handful of months. I've been a self-hosting enthusiast for well over a decade now, from old game-servers for my friends and I in the mid-2000's on a centOS box in my garage to now having a full-fledged homelab serving content of all types. I am incredibly excited to have created something that could presumably be used by others who might enjoy it in the same way that I have enjoyed these types of services for the greater part of my life!</p>\n<p>This project is called <strong>Retrom</strong>, and is most simply described as an emulation library frontend. However, the thing that sets Retrom apart is it's first-class support for centralized, self-hosted game libraries. I am aware that this is a bit of a niche that Retrom is targeting, but I am sure there are plenty of users here that have large libraries of retro games sitting on their NAS that could possibly see some use from this. I mean, how small could the intersection of retro game collectors, emulation enthusiasts, data archivists and home-lab enthusiasts be, really??</p>\n<blockquote>\n<p><strong>Download links, docs and source code can all be found at the</strong> <a href=\"https://github.com/jmberesford/retrom\"><strong>github repository</strong></a><strong>, for those interested</strong></p>\n</blockquote>\n<p>Retrom is still in the early stages of development, but I'm excited to share it with you all and get feedback. I'm certain there are bugs to be found, and I would not describe Retrom as <em>fully-featured</em> yet, but I'm excited to see what others think and would like to use the feedback to guide future development.</p>\n<h1>Here is a list of Retrom's main features:</h1>\n<ul>\n<li><strong>Self Hosted Game Libraries</strong>: Retrom is designed with self-hosted game libraries in mind. This means that you can host your own game library on your own server, and Retrom will be able to access it. Simply spin up the Retrom service in a docker container (binary distribution coming soon), and point it to your game library.</li>\n<li><strong>Game Metadata and Covers</strong>: Retrom will automatically download metadata and covers for your games, and display them in a beautiful and easy to use UI. Metadata and images are automatically sourced from supported providers, and can be manually edited if needed.</li>\n<li><strong>Desktop and Web Clients</strong>: Connect any amount of clients to your Retrom service, and they will all be able to manage, install and play your games. Large libraries need not take up space on your local machine, and you can access your games from anywhere.</li>\n<li><strong>Multi-platform</strong>: Retrom's desktop client is available for use on Windows, MacOS, and Linux. The web client is accessible on any device with a modern web browser, and can be easily deployed via docker alongside the service.</li>\n<li><strong>First Class Emulation Support</strong>: Retrom has first-class support for emulation, and is designed with flexibility in mind. You can configure the Retrom client to launch games with any emulator you have installed on your machine, and further configure launch profiles for each emulator (e.g. launch in fullscreen/launch in windowed profiles).</li>\n</ul>\n<h1>The next major milestones on the roadmap for Retrom are as follows:</h1>\n<ul>\n<li><strong>User Authentication and Permissions</strong>: Retrom will soon support user authentication and permissions. This means that you can create user accounts for your friends and family, and give them access to your game library.</li>\n<li><strong>Standalone Mode</strong>: Retrom will soon support a standalone mode, where the service and client are bundled together in a single binary. This will make it easier to get started with Retrom, and will be especially useful for users who don't want to host their own game library.</li>\n<li><strong>Fullscreen UI and Gamepad Support</strong>: The desktop client will soon have a fullscreen UI mode, and will support gamepad input. This will make Retrom a great choice for use on a TV or other large screen.</li>\n<li><strong>Cloud Save Support</strong>: Retrom will soon support cloud saves for your games. This means that you can save your game progress to your retrom service, and pick up where you left off on any device.</li>\n<li><strong>Built-in Emulator Profiles</strong>: Retrom will soon ship with built-in emulator profiles for popular emulators. This will make it easier to get started with emulation, and will make it easier to configure your emulators for use with Retrom.</li>\n<li><strong>Additional Metadata Providers</strong>: Retrom will soon support additional metadata providers. Currently, Retrom uses IGDB for metadata and cover images, but additional providers like SteamGridDB will be added in the future.</li>\n</ul>\n<h1>Screenshots</h1>\n<p><a href=\"https://preview.redd.it/32m27g1yf2pd1.jpg?width=1843&format=pjpg&auto=webp&s=73aba91ae2fe3f3712ddffdb1ba05e645ef9accb\">Home screen</a></p>\n<p><a href=\"https://preview.redd.it/rbg5ch1yf2pd1.jpg?width=1623&format=pjpg&auto=webp&s=551b8ff9181b9cd2c7173b132cec79da5cb67e6d\">Game view</a></p>",
"date_published": "2024-09-16T01:18:41+00:00",
"authors": [
{
"name": "Volcaus",
"url": "https://www.reddit.com/user/Volcaus"
}
]
},
{
"id": "1fhe1yd",
"url": "/r/selfhosted/comments/1fhe1yd/i_did_something_i_created_nothing_and_its/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fhe1yd/i_did_something_i_created_nothing_and_its/",
"title": "I did something: I created Nothing \u2014 and it's self-hostable!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fhe1yd/i_did_something_i_created_nothing_and_its/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fhe1yd/i_did_something_i_created_nothing_and_its/'>Reddit</a></caption><div><br></div><p>After working on <a href=\"https://github.com/remvze/moodist\">Moodist</a> for about a year, I took some time to reflect. Moodist is an app that helps you stay focused and productive; it encourages you to take action. But what if the best thing to do is nothing? What if the solution is to step away from our computers and let our minds rest? So, I created Nothing. It's an app that encourages you to do nothing, offering a break from the constant pressure to be productive. It's free, open-source, and self-hostable.</p>\n<p>\u2794 <a href=\"http://usenothing.com\">usenothing.com</a><br />\n\u2794 <a href=\"http://github.com/remvze/nothing\">github.com/remvze/nothing</a></p>",
"date_published": "2024-09-15T14:40:23+00:00",
"authors": [
{
"name": "remvze",
"url": "https://www.reddit.com/user/remvze"
}
]
},
{
"id": "1ffytgc",
"url": "/r/selfhosted/comments/1ffytgc/in_response_to_i_expose_all_my_services_to_open/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1ffytgc/in_response_to_i_expose_all_my_services_to_open/",
"title": "In Response to \"I expose all my services to open web\"",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1ffytgc/in_response_to_i_expose_all_my_services_to_open/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1ffytgc/in_response_to_i_expose_all_my_services_to_open/'>Reddit</a></caption><div><br></div><p>That post is <a href=\"https://old.reddit.com/r/selfhosted/comments/1ffou9e/i_expose_all_my_services_to_open_web/\">here</a></p>\n<p>Summary of that post is that OP is using mTLS on the open internet to host his services, rather than a VPN.</p>\n<p>My creds: I am a security engineer with specialization in offensive embedded systems security research.</p>\n<p><strong>mTLS, or \"client certificate authentication\", is equally as secure as running a VPN.</strong> There was a lot of misinformation in that thread and I'd like to address it here:</p>\n<p>1: If you use TailScale, it is only an outbound connection from your home so no networks are exposed.</p>\n<p>This is a half-truth. With TailScale, TailScale itself exposes ports. You authenticate and connect to those ports, which then connect you back to the reverse connection from your home. Ports are exposed at TailScale. TailScale gets access to your home network. You would have a lower attack surface if you just opened a VPN port in your home. If your security requirements and threat model allow for using TailScale then it's totally fine to use it, but the idea that TailScale doesn't expose ports is a half-truth.</p>\n<p>2: If you use a reverse proxy the way OP does, attackers will be able to scan your web server, identify web server vulnerabilities, and pop into your network!</p>\n<p>No. mTLS requires the attacker to have a valid private key to authenticate to the reverse proxy. If a valid private key and certificate are not there, <strong>then the attacker cannot begin scanning the web app.</strong> The mTLS handshake happens before the attacker can probe the web service. If you don't believe me, use <a href=\"https://www.youtube.com/watch?v=a9eVf2uleaA\">WireShark and see how a TLS connection works</a>. Even over regular TLS, you will see that the TLS connection happens first, before any HTTP traffic is transmitted. Better yet, host your own mTLS instance, scan 443 without a private key and see what data you get back.</p>\n<p>3: If you expose a port, even if it requires a private key to connect to it, you are less secure than if you use WireGuard, which requires an authenticated packet before it responds.</p>\n<p>No. WireGuard allows you to avoid confirming or denying that a port is open, since it's over UDP and most systems don't respond if you try to interact to a nonexistent service over UDP. This, on its own, does not make WireGuard more secure than say TCP OpenVPN or mTLS. It does, however, prevent people looking at your IP address from knowing if you are running some sort of authentication-required service. If this increases your risk, then you can choose to use WireGuard, instead, but this is not the case for a vast majority of people.</p>\n<p>For more information on mTLS, see <a href=\"https://smallstep.com/docs/mtls/\">Hello mTLS</a> by the awesome people at Smallstep. They also have a cool tutorial on using Yubikeys with mTLS <a href=\"https://smallstep.com/blog/access-your-homelab-anywhere/\">here</a> to connect back to the homelab, similar to how OP is running his homelab.</p>\n<p>The great part about using Yubikeys for mTLS is it allows you to have a hardware-backed, two-factor authentication method at layer 6, rather than traditional MFA which is at layer 7. This allows MFA with a lower attack surface, since the attacker can't look for any web vulnerabilities to bypass MFA.</p>",
"date_published": "2024-09-13T16:21:12+00:00",
"authors": [
{
"name": "SavingsMany4486",
"url": "https://www.reddit.com/user/SavingsMany4486"
}
]
},
{
"id": "1fe8j7o",
"url": "/r/selfhosted/comments/1fe8j7o/selfhsticons_a_collection_of_600_icons_selfhosted/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fe8j7o/selfhsticons_a_collection_of_600_icons_selfhosted/",
"title": "selfh.st/icons - A collection of 600+ icons (self-hosted and more) for dashboards and documentation",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fe8j7o/selfhsticons_a_collection_of_600_icons_selfhosted/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fe8j7o/selfhsticons_a_collection_of_600_icons_selfhosted/'>Reddit</a></caption><div><br></div><p>Hey, r/selfhosted!</p>\n<p>Today I'm officially publishing and sharing the collection of icons I've built over the past several months to power <a href=\"https://selfh.st/apps/\">selfh.st/apps</a>, which I've since expanded to include 600+ assets spanning all types of software for the self-hosted and homelab dashboards often shared on this subreddit:</p>\n<p><a href=\"https://selfh.st/icons/\">selfh.st/icons</a></p>\n<p>Features include:</p>\n<ul>\n<li>A browsable directory of icons with buttons to easily copy links to the clipboard</li>\n<li>Sort (alphabetical, recently updated) and search functionality</li>\n<li>Alternate light icons for those that don't display well against dark backgrounds (with an eventual goal of providing a light version for each icon in the collection)</li>\n</ul>\n<p>The collection itself is stored on <a href=\"https://github.com/selfhst/icons\">GitHub</a> for several reasons:</p>\n<ul>\n<li>To make them publicly available for others to fork and use for their own projects if desired</li>\n<li>To leverage the <a href=\"https://www.jsdelivr.com/\">jsDelivr</a> CDN network</li>\n<li>To prevent downtime when my servers are down</li>\n<li>To easily manage and track <a href=\"https://github.com/selfhst/icons/discussions\">new requests via Discussions</a></li>\n</ul>\n<p>For <a href=\"https://github.com/gethomepage/homepage\">Homepage</a> users looking to integrate these icons into their dashboards, the team is releasing an update later today that will include native support for the collection without having to leverage clunky jsDelivr links.</p>\n<p>A ton of thanks to the <a href=\"https://github.com/walkxcode/dashboard-icons\">walkxcode/dashboard-icons</a> project, which initially provided icons for the directory and was the inspiration behind the standardization and naming conventions used in my collection.</p>\n<p>As usual, I'm completely open to feedback!</p>",
"date_published": "2024-09-11T12:09:51+00:00",
"authors": [
{
"name": "shol-ly",
"url": "https://www.reddit.com/user/shol-ly"
}
]
},
{
"id": "1fe2pq7",
"url": "/r/selfhosted/comments/1fe2pq7/introducing_airtrail_a_personal_flight_tracking/",
"external_url": "https://i.redd.it/94xg1x8v84od1.jpeg",
"title": "Introducing AirTrail, a personal flight tracking system",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fe2pq7/introducing_airtrail_a_personal_flight_tracking/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fe2pq7/introducing_airtrail_a_personal_flight_tracking/'>Reddit</a></caption><div><br></div><p>https://johanohly.github.io/AirTrail/</p>\n<p>The objective is to provide a simple and easy-to-use interface to track your flights, list them all and provide a way to analyze them. </p>\n<p>I mainly got the idea from myflightradar24, which is why it is currently the only supported import option. \nI have also looked at JetLog, which is another great open-source project that seems to be similar to this. The main reason I didn't just go with JetLog and made my own, is the missing authentication / user management, along with a few implementation details I wanted to change. </p>\n<p>Features:\n World Map: View all your flights on an interactive world map.\n Flight History: Keep track of all your flights in one place.\n Statistics: Get insights into your flight history with statistics.\n User Authentication: Allow multiple users and secure your data with user authentication.\n Responsive Design: Use the application on any device with a responsive design.\n Dark Mode: Switch between light and dark mode.\n Import Flights: Import flights from various sources.</p>\n<p>AirTrail is still in active development, so feedback and suggestions are very much appreciated. </p><div><br></div><img src=\"https://i.redd.it/94xg1x8v84od1.jpeg\" />",
"date_published": "2024-09-11T05:28:45+00:00",
"authors": [
{
"name": "Johnny_JTH",
"url": "https://www.reddit.com/user/Johnny_JTH"
}
]
},
{
"id": "1fdcr2z",
"url": "/r/selfhosted/comments/1fdcr2z/the_opensource_ai_data_web_builder_alternative_to/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fdcr2z/the_opensource_ai_data_web_builder_alternative_to/",
"title": "The open-source AI & Data web builder alternative to Streamlit",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fdcr2z/the_opensource_ai_data_web_builder_alternative_to/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fdcr2z/the_opensource_ai_data_web_builder_alternative_to/'>Reddit</a></caption><div><br></div><p>Hi all, I am new at r/selfhosted.</p>\n<p>I'm one of the contributors of Taipy.</p>\n<p>Glad to receive feedback and even a few contributors! \ud83d\ude0a</p>\n<p><a href=\"https://github.com/Avaiga/taipy\">https://github.com/Avaiga/taipy</a></p>\n<p>This AI Data tool is similar to: Streamlit, Gradio, Dash, Reflex, etc.</p>\n<p>Key features:</p>\n<ul>\n<li><strong>Callback</strong> - lets users automatically trigger custom actions following certain events or the completion of specific tasks. Callbacks allow our software to apply flexible, event-driven automation, which is great for interactive applications.</li>\n<li><strong>Scenario management -</strong> allows for organizing and running different workflow configurations, complete with version control and automation. It also allows for comparing the results of multiple runs for a given analysis to see what works best.</li>\n<li><strong>Multi-user</strong> - enable several users to work together on the same Taipy application, each with safe, private access to a version of the app that is theirs alone.</li>\n<li><strong>Long-running jobs</strong> - allows long-running jobs to finish without impacting the system, ensuring performance remains steady across the board.</li>\n</ul>\n<p>Fully open-source (Apache-2)</p>",
"date_published": "2024-09-10T08:13:53+00:00",
"authors": [
{
"name": "yetsax",
"url": "https://www.reddit.com/user/yetsax"
}
]
},
{
"id": "1fc13i1",
"url": "/r/selfhosted/comments/1fc13i1/how_it_feels/",
"external_url": "https://i.redd.it/ebirhk89ylnd1.png",
"title": "How it feels",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fc13i1/how_it_feels/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fc13i1/how_it_feels/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/ebirhk89ylnd1.png\" />",
"date_published": "2024-09-08T15:57:13+00:00",
"authors": [
{
"name": "obolikus",
"url": "https://www.reddit.com/user/obolikus"
}
]
},
{
"id": "1fbn16x",
"url": "/r/selfhosted/comments/1fbn16x/plex_4k_streaming_across_the_planet_poor_mans_cdn/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1fbn16x/plex_4k_streaming_across_the_planet_poor_mans_cdn/",
"title": "Plex 4k streaming across the planet : Poor Man's CDN",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fbn16x/plex_4k_streaming_across_the_planet_poor_mans_cdn/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fbn16x/plex_4k_streaming_across_the_planet_poor_mans_cdn/'>Reddit</a></caption><div><br></div><p>I have a unique use case where the distance between my plex server and most of my users are over 7000 miles. This meant 4k streaming was pretty bad due to network congestion.</p>\n<p>Here is a blog post I wrote about how I solved it <a href=\"https://esc.sh/blog/plex-cross-continent-4k-streaming/\">https://esc.sh/blog/plex-cross-continent-4k-streaming/</a> </p>\n<p>I hope someone and their friends/family find use for it. </p>",
"date_published": "2024-09-08T01:58:06+00:00",
"authors": [
{
"name": "m4nz",
"url": "https://www.reddit.com/user/m4nz"
}
]
},
{
"id": "1fakrng",
"url": "/r/selfhosted/comments/1fakrng/this_goes_out_to_all_the_open_and_closeted_plex/",
"external_url": "https://i.redd.it/n8ah0u8v38nd1.jpeg",
"title": "This goes out to all the open and closeted Plex shills out there. Happy Friday!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1fakrng/this_goes_out_to_all_the_open_and_closeted_plex/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1fakrng/this_goes_out_to_all_the_open_and_closeted_plex/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/n8ah0u8v38nd1.jpeg\" />",
"date_published": "2024-09-06T17:24:09+00:00",
"authors": [
{
"name": "cloudswithflaire",
"url": "https://www.reddit.com/user/cloudswithflaire"
}
]
},
{
"id": "1f9kt9h",
"url": "/r/selfhosted/comments/1f9kt9h/we_moved_away_from_public_cloud_and_saved_76_in/",
"external_url": "https://oneuptime.com/blog/post/2023-10-30-moving-from-aws-to-bare-metal",
"title": "We moved away from public cloud and saved 76% in cloud costs. ",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f9kt9h/we_moved_away_from_public_cloud_and_saved_76_in/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f9kt9h/we_moved_away_from_public_cloud_and_saved_76_in/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-09-05T12:07:52+00:00",
"authors": [
{
"name": "OuPeaNut",
"url": "https://www.reddit.com/user/OuPeaNut"
}
]
},
{
"id": "1f8smun",
"url": "/r/selfhosted/comments/1f8smun/change_my_mind_a_minipc_attached_storage_is_the/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f8smun/change_my_mind_a_minipc_attached_storage_is_the/",
"title": "Change my mind : a mini-pc + attached storage is the most adequate home server solution for 90% of users",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f8smun/change_my_mind_a_minipc_attached_storage_is_the/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f8smun/change_my_mind_a_minipc_attached_storage_is_the/'>Reddit</a></caption><div><br></div><p>I know this might be controversial but I genuinely believe that a mini pc and some form of attached storage constitute for most users the most adequate home server solution. Of course I am not talking here about applications which involve serving dozens of devices and users with 99.99% uptime, I am talking home media server and some additional VMs/containers.</p>\n<p>Here is why:</p>\n<ul>\n<li>Can be bought used for cheap (<200\u20ac for i5 10th gen, 100\u20ac for 5-bay DAS). Most of the time better value than prebuilt NASs.</li>\n<li>Very small form factor and noise, perfect to hide in a closet somewhere or in the corner of a room.</li>\n<li>Some models can also be fitted with a NIC to go beyond gigabit speeds (alternatively, many mini PCs on Aliexpress now come with 2.5G).</li>\n<li>Very low power consumption. Maybe more relevant for Europe where electricity is not cheap.</li>\n</ul>\n<p>Of course you could argue that:</p>\n<ul>\n<li>It is usually less expandable, in terms of CPU/RAM/storage. Regarding the storage, if you buy a sufficiently large DAS from the start, you have room for additional drives later on.</li>\n<li>These machines are typically less capable than full-on servers but I believe that not everybody actually needs a server rack and 512GB RAM at home.</li>\n<li>They are also less reliable (not UPS, redundant power supply, etc) but for home purposes, I believe this is less relevant.</li>\n<li>DAS are sometime considered unreliable, especially with RAID setups. </li>\n</ul>\n<p>That's all I have, interested to hear your thoughts.</p>",
"date_published": "2024-09-04T12:57:06+00:00",
"authors": [
{
"name": "ValouMazMaz",
"url": "https://www.reddit.com/user/ValouMazMaz"
}
]
},
{
"id": "1f7f8f4",
"url": "/r/selfhosted/comments/1f7f8f4/i_built_an_ai_tool_to_handle_my_moms_invoices_and/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f7f8f4/i_built_an_ai_tool_to_handle_my_moms_invoices_and/",
"title": " I built an AI tool to handle my mom\u2019s invoices and saved her 20hrs! ",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f7f8f4/i_built_an_ai_tool_to_handle_my_moms_invoices_and/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f7f8f4/i_built_an_ai_tool_to_handle_my_moms_invoices_and/'>Reddit</a></caption><div><br></div><p>Hey, all.</p>\n<p>So, I built an AI automation to handle my mum\u2019s invoices.</p>\n<p>She runs a small business and often has trouble managing invoices. This has helped her a lot. She now spends a lot less time managing invoices than before.</p>\n<p>Tech Stack</p>\n<ul>\n<li><a href=\"https://dub.composio.dev/O2A7OJz\">Composio</a> - for Gmail and Google sheet integration.</li>\n<li><a href=\"https://nanonets.com/\">Nanonet</a> - for extracting data from PDF.</li>\n<li><a href=\"https://github.com/crewAIInc/crewAI\">CrewAI</a> - Agent orchestartion.</li>\n<li>React +Vite - for frontend</li>\n</ul>\n<p>Overall workflow</p>\n<ul>\n<li>First, add a few words that will be used to find potential emails with invoices. Then, create a JSON file or something similar. Also, name the attributes that need to be extracted from Invoices.</li>\n<li>Next, Set up an event listener to poll emails from Gmail inbox. Fetch the emails that match the keywords.</li>\n<li>Then, process the PDF attachments based on the names of the attributes provided using an agent built using GPT-4o and CrewAI.</li>\n<li>Finally, we extract data points from invoice PDF using Nanonet and update them to a Google sheet using the Google Sheet integration.</li>\n</ul>\n<p>It still has a few rough edges, and I am trying to iron them out. I would appreciate any feedback on it.</p>\n<p>You can check the complete code here: <a href=\"https://github.com/abhishekpatil4/GmailGenius\">https://github.com/abhishekpatil4/GmailGenius</a>.</p>",
"date_published": "2024-09-02T19:15:23+00:00",
"authors": [
{
"name": "SunilKumarDash",
"url": "https://www.reddit.com/user/SunilKumarDash"
}
]
},
{
"id": "1f73ctc",
"url": "/r/selfhosted/comments/1f73ctc/dawarich_0120_selfhosted_google_location_history/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f73ctc/dawarich_0120_selfhosted_google_location_history/",
"title": "Dawarich 0.12.0: Self-hosted Google Location History alternative update",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f73ctc/dawarich_0120_selfhosted_google_location_history/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f73ctc/dawarich_0120_selfhosted_google_location_history/'>Reddit</a></caption><div><br></div><p>Hello there good people of r/selfhosted! I'm here today to provide you with some changes I introduced in Dawarich.</p>\n<p>For those unfamiliar, <a href=\"https://github.com/Freika/dawarich\">Dawarich</a> is a self-hosted alternative to Google Location History and Owntracks</p>\n<p>https://preview.redd.it/lgqgouibhdmd1.png?width=3096&format=png&auto=webp&s=e1c14ac4280aeefa50502d6856c5afe6f4f4d941</p>\n<p>So, the last time I posted an update here on Reddit, it was on Dawarich 0.7.0, more than two months ago. Today I'll share changes made to the application since, and in the future, I'm planning to post release updates on a monthly basis.</p>\n<p>I'll cover only significant changes, although there are also a whole lot of small ones. So, here we go!</p>\n<h1>Added</h1>\n<ul>\n<li>Fog of War. Yes, exactly like in your favorite RTS game!</li>\n<li>Primitive user management. The first user in the system is now the admin and can create new users. Nobody will be able to use your Dawarich instance without your knowledge.</li>\n<li>Full support for the <a href=\"https://support.google.com/maps/thread/264641290/export-full-location-timeline-data-in-json-or-similar-format-in-the-new-version-of-timeline?hl=en\">third</a> (yes, third) kind of Google's Takeout location history file.</li>\n<li>A simple notification system. You'll receive a notification when any of your background processes is finished. Non-live yet, requires a page reload.</li>\n<li>API endpoints</li>\n<li>`/api/v1/areas` (GET, POST)</li>\n<li>`/api/v1/area/:id` (PATCH/PUT, DELETE)</li>\n<li>`/api/v1/points` (GET)</li>\n<li>`/api/v1/point/:id` (DELETE)</li>\n<li>`/api/v1/visit/:id` (PATCH/PUT)</li>\n<li>`/api/v1/stats` (GET)</li>\n<li>Swagger docs for the API. Available at `/api-docs`.</li>\n<li>Support for multiple hosts. You can now provide multiple domains and IP addresses by which you want Dawarich to be available.</li>\n<li>Support for HTTPS protocol.</li>\n<li>Background jobs page, where you can start or re-start the reverse geocoding process for your points.</li>\n<li>Point can now be deleted right from the map. Just click on it, and then click on \"Delete\" in the popup.</li>\n<li>Some map settings can now be changed in user settings.</li>\n<li>Those who want to host their own Photon instance for reverse geocoding without limitations now can do that and point Dawarich to it with `PHOTON_API_HOST` env variable.</li>\n<li>Visits functionality. You can now draw an area on the map, give it a name (i.e. \"Parent's house\") and Dawarich will scan your visits there and suggest them to be confirmed or declined on the Visits page.</li>\n<li>Places & Visit suggestion. Oooh this is huge. And it's still in beta. Basically, Dawarich scans through all your points, detects groups of them in space and time, and makes a suggestion: this is a Visit. If possible (and if reverse geocoding is enabled), it will also try to suggest a name of the place you visited.</li>\n<li>Map settings are moved directly to the map itself</li>\n</ul>\n<h1>Fixed</h1>\n<ul>\n<li>Hovering over a route on the Map page will no longer move the map. But click on a route will, it will move to show both the start and the finish of the route.</li>\n</ul>\n<h1>Changed</h1>\n<ul>\n<li>Registration is now disabled and new users can be only created by the very first user in the system (or an admin, or via console).</li>\n<li>Reverse geocoding process now saves all data it fetched, not just city and country</li>\n</ul>\n<p>So, I'd like to talk a bit about Visits suggestions. It's currently in its beta version, and the ultimate goal is to have Dawarich reliably suggest places you visited, also providing you with a list of names of potential places that you could have visited. Current implementation if a first step, and initial visits suggestion, depending on the amount of points you tracked or imported, might take a few hours and consume some considerable resources. With that in mind, it might be smart to limit resources (like that, for example: <a href=\"https://stackoverflow.com/questions/42345235/how-to-specify-memory-cpu-limit-in-docker-compose-version-3\">https://stackoverflow.com/questions/42345235/how-to-specify-memory-cpu-limit-in-docker-compose-version-3</a> ) available to Dawarich to not crash your server.</p>\n<p>The main focus for now would be probably honing existing features, especially the Visits suggestions feature, although I'll also be working on some other stuff, such as extending the API, supporting different types of export files, and some others. I invite you all to <a href=\"https://github.com/Freika/dawarich/discussions\">Github Discussions</a> to ask your questions and bring your ideas.</p>\n<p>Feel free to support the project on <a href=\"https://www.patreon.com/freika\">Patreon</a>, <a href=\"https://ko-fi.com/freika\">Ko-fi</a> or using crypto (address is in the project README) if you find it useful :)</p>\n<p>To save you a scroll:</p>\n<ul>\n<li><a href=\"https://github.com/Freika/dawarich\">https://github.com/Freika/dawarich</a></li>\n<li><a href=\"https://dawarich.app\">https://dawarich.app</a></li>\n</ul>\n<p>Cheers!</p>",
"date_published": "2024-09-02T10:23:10+00:00",
"authors": [
{
"name": "Freika",
"url": "https://www.reddit.com/user/Freika"
}
]
},
{
"id": "1f4x806",
"url": "/r/selfhosted/comments/1f4x806/postiz_opensource_social_media_scheduling_tool/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f4x806/postiz_opensource_social_media_scheduling_tool/",
"title": "Postiz - open-source social media scheduling tool",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f4x806/postiz_opensource_social_media_scheduling_tool/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f4x806/postiz_opensource_social_media_scheduling_tool/'>Reddit</a></caption><div><br></div><p>Hi all, I am one of the builders of Postiz.</p>\n<p>Happy to get feedback and also some contributors :)</p>\n<p><a href=\"https://github.com/gitroomhq/postiz-app\">https://github.com/gitroomhq/postiz-app</a></p>\n<p>This social media scheduling tool is similar to traditional ones: Buffer, Hootsuite, SproutSocial, etc.</p>\n<p>Key features:</p>\n<ul>\n<li>Schedule for 9 social media platforms (Threads, Pinterest, Facebook, TikTok, Reddit, LinkedIn, Dribbble, YouTube, Instagram.)</li>\n<li>Basic analytics for almost all the social media platforms.</li>\n<li>AI Features: Copilots, AI Auto-complete, Canva-like editor.</li>\n<li>Team support: Invite your team members to manage social medias.</li>\n</ul>\n<p>Tech stack:</p>\n<ul>\n<li>NX (Monorepo)</li>\n<li>NextJS (React)</li>\n<li>NestJS</li>\n<li>Prisma (Default to PostgreSQL)</li>\n<li>Redis</li>\n<li>Resend (email notifications)</li>\n</ul>\n<p>Fully open-source (Apache-2)</p>",
"date_published": "2024-08-30T14:52:36+00:00",
"authors": [
{
"name": "sleepysiding22",
"url": "https://www.reddit.com/user/sleepysiding22"
}
]
},
{
"id": "1f4tbi9",
"url": "/r/selfhosted/comments/1f4tbi9/this_week_in_selfhosted_30_august_2024/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f4tbi9/this_week_in_selfhosted_30_august_2024/",
"title": "This Week in Self-Hosted (30 August 2024)",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f4tbi9/this_week_in_selfhosted_30_august_2024/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f4tbi9/this_week_in_selfhosted_30_august_2024/'>Reddit</a></caption><div><br></div><p>Happy Friday, r/selfhosted! Linked below is the latest edition of <em>This Week in Self-Hosted</em>, a weekly newsletter recap of the latest activity in self-hosted software.</p>\n<p>This week's features include:</p>\n<ul>\n<li>Plex's announcements on upcoming deprecated integrations and new Fediverse symbols</li>\n<li>Notable software updates (Umami now supports sessions!)</li>\n<li>New software launches (with the <a href=\"https://blog.thunderbird.net/2024/08/plan-less-do-more-introducing-appointment-by-thunderbird/?ref=selfh.st\">Thunderbird team also getting in on the action</a>)</li>\n<li>New additions to <a href=\"https://selfh.st/apps\">selfh.st/apps</a></li>\n<li>Featured articles and self-hosting guides written by the community</li>\n<li>A spotlight on <a href=\"https://github.com/crocodilestick/Calibre-Web-Automated?ref=selfh.st\">Calibre-Web Automated</a>, a consolidated web app for Calibre and Calibre-Web</li>\n</ul>\n<p>As usual, feel free to reach out with questions or comments about the newsletter. Thanks!</p>\n<hr />\n<p><a href=\"https://selfh.st/newsletter/2024-08-30/?ref=reddit\">This Week in Self-Hosted (30 August 2024)</a></p>",
"date_published": "2024-08-30T11:52:32+00:00",
"authors": [
{
"name": "shol-ly",
"url": "https://www.reddit.com/user/shol-ly"
}
]
},
{
"id": "1f40tgt",
"url": "/r/selfhosted/comments/1f40tgt/psa_for_those_of_you_with_families_be_careful_you/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f40tgt/psa_for_those_of_you_with_families_be_careful_you/",
"title": "PSA: For those of you with families, be careful you don't become an NPC Dad (or Mom)",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f40tgt/psa_for_those_of_you_with_families_be_careful_you/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f40tgt/psa_for_those_of_you_with_families_be_careful_you/'>Reddit</a></caption><div><br></div><p>I came across this <a href=\"https://www.reddit.com/r/NoStupidQuestions/comments/1f3e1ht/why_do_so_many_fathers_walk_away_from_their_kids/\">thread</a> today and it was really sad. </p>\n<p>A lot of the complaints were about disengaged dads who spend all of their time either working or on the computer. One redditor labeled them NPC dads. </p>\n<p>I've seen some comments on this subreddit from Dads who wonder if their kids appreciate the sweet setup they've created for them. If you feel that way, you may be confusing effort with value. Sure, you spend a lot of time and put in a lot of hard work, and it feels worth it. But for the rest of your family, it probably just looks like you're playing games, and if we're being fair, we kind of are -- we enjoy the challenge and the opportunity to learn soemthing new, which is basically makes selfhosting a semi productive game. </p>\n<p>Is it worth it? You may see yourself as a hero, but doesn't everybody want to be the hero of their own story? You might want to check with your family (your spouse included) if they think it's all worth your time, or if they'd rather you spent time with them or helped out in other ways. </p>",
"date_published": "2024-08-29T12:11:59+00:00",
"authors": [
{
"name": "dscheffy",
"url": "https://www.reddit.com/user/dscheffy"
}
]
},
{
"id": "1f2ojf9",
"url": "/r/selfhosted/comments/1f2ojf9/i_tried_with_a_diagram/",
"external_url": "https://i.redd.it/4587rghg39ld1.jpeg",
"title": "I tried with a diagram",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f2ojf9/i_tried_with_a_diagram/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f2ojf9/i_tried_with_a_diagram/'>Reddit</a></caption><div><br></div><p>Some recommendations?</p><div><br></div><img src=\"https://i.redd.it/4587rghg39ld1.jpeg\" />",
"date_published": "2024-08-27T18:34:55+00:00",
"authors": [
{
"name": "timo_hzbs",
"url": "https://www.reddit.com/user/timo_hzbs"
}
]
},
{
"id": "1f2ea4g",
"url": "/r/selfhosted/comments/1f2ea4g/jellybox_v184_jellyfin_desktop_and_mobile_client/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f2ea4g/jellybox_v184_jellyfin_desktop_and_mobile_client/",
"title": "Jellybox v1.8.4 - Jellyfin desktop and mobile client",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f2ea4g/jellybox_v184_jellyfin_desktop_and_mobile_client/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f2ea4g/jellybox_v184_jellyfin_desktop_and_mobile_client/'>Reddit</a></caption><div><br></div><p><a href=\"https://preview.redd.it/nxaffv7ku6ld1.png?width=6741&format=png&auto=webp&s=436c56fab1d14d36cb189927266b43b32a349409\">Desktop version</a></p>\n<p>Hey guys, it's been a while since I last posted about <a href=\"https://github.com/avdept/JellyBoxPlayer\">Jellybox</a> player - a player for your Jellyfin media library for MacOS, iOS and android platforms. It's a native app unlike official client, so it uses less memory, and more battery-efficient.</p>\n<p>Over past few months I've added a bunch of changes, fixes and improvements. The most notable are</p>\n<ul>\n<li>Playlist support - create/delete playlists, add/remove songs from playlists</li>\n<li>Media keys support on MacOS(play/pause next/prev)</li>\n<li>Dynamic progress bar color(matches album cover art dominant color)</li>\n<li>Sorting</li>\n</ul>\n<p>There are many more changes under the hood to make app more stable. App is fully open sourced and available to check here - <a href=\"https://github.com/avdept/JellyBoxPlayer\">https://github.com/avdept/JellyBoxPlayer</a></p>\n<p>Right now I support macOS, iOS and android as APK file in downloads section(soon I will release it to google play).</p>\n<p>There are few more features I currently work on, so stay tuned!</p>",
"date_published": "2024-08-27T11:06:16+00:00",
"authors": [
{
"name": "avdept",
"url": "https://www.reddit.com/user/avdept"
}
]
},
{
"id": "1f1s4vz",
"url": "/r/selfhosted/comments/1f1s4vz/my_isp_is_finally_allowing_me_to_get_static_ips/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1f1s4vz/my_isp_is_finally_allowing_me_to_get_static_ips/",
"title": "My ISP is finally allowing me to get static IP's and opened ports on my residential fiber connection....wohoo!!!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1f1s4vz/my_isp_is_finally_allowing_me_to_get_static_ips/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1f1s4vz/my_isp_is_finally_allowing_me_to_get_static_ips/'>Reddit</a></caption><div><br></div><p>It's taken 12 years but they're finally allowing me to get 3 static IPV4 addresses for $30/mo and have all incoming ports opened on my residential 1000/250 fiber connection.</p>\n<p>I live in a town of 5K people so our only ISP options are 4G or the local telco. We just got fiber from the telco in 2019 and before that it was DSL.</p>\n<p>Now I can play with things like CARP in OPNsense or just have a completely separate lab network with it's own public IP.</p>\n<p>I'm beyond exited!!!!</p>",
"date_published": "2024-08-26T16:14:32+00:00",
"authors": [
{
"name": "Firestarter321",
"url": "https://www.reddit.com/user/Firestarter321"
}
]
},
{
"id": "1ez52iv",
"url": "/r/selfhosted/comments/1ez52iv/finally_finished_organizing_my_selfhosted/",
"external_url": "https://i.redd.it/bl77cx07pckd1.png",
"title": "Finally finished organizing my self-hosted services. Thoughts on my setup? ",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1ez52iv/finally_finished_organizing_my_selfhosted/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1ez52iv/finally_finished_organizing_my_selfhosted/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/bl77cx07pckd1.png\" />",
"date_published": "2024-08-23T05:39:54+00:00",
"authors": [
{
"name": "dipplersdelight",
"url": "https://www.reddit.com/user/dipplersdelight"
}
]
},
{
"id": "1ewy6ke",
"url": "/r/selfhosted/comments/1ewy6ke/i_am_loving_uptime_kuma/",
"external_url": "https://i.redd.it/1tppzlzb5ujd1.png",
"title": "I am loving Uptime Kuma!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1ewy6ke/i_am_loving_uptime_kuma/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1ewy6ke/i_am_loving_uptime_kuma/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/1tppzlzb5ujd1.png\" />",
"date_published": "2024-08-20T15:14:43+00:00",
"authors": [
{
"name": "PersianMG",
"url": "https://www.reddit.com/user/PersianMG"
}
]
},
{
"id": "1eqga5b",
"url": "/r/selfhosted/comments/1eqga5b/i_created_a_new_jellyfin_client_for_ios_and/",
"external_url": "https://www.reddit.com/gallery/1eqga5b",
"title": "I created a new Jellyfin client for iOS and Android. Supports downloads and Chromecast. ",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1eqga5b/i_created_a_new_jellyfin_client_for_ios_and/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1eqga5b/i_created_a_new_jellyfin_client_for_ios_and/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-08-12T15:11:29+00:00",
"authors": [
{
"name": "masterinthecage",
"url": "https://www.reddit.com/user/masterinthecage"
}
]
},
{
"id": "1eptwxk",
"url": "/r/selfhosted/comments/1eptwxk/psa_update_vaultwarden_as_soon_as_possible/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1eptwxk/psa_update_vaultwarden_as_soon_as_possible/",
"title": "PSA: Update Vaultwarden as soon as possible",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1eptwxk/psa_update_vaultwarden_as_soon_as_possible/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1eptwxk/psa_update_vaultwarden_as_soon_as_possible/'>Reddit</a></caption><div><br></div><p>A new version (1.32.0) of Vaultwarden is out with security fixes:</p>\n<blockquote>\n<p>This release has several CVE Reports fixed and we recommend everybody to update to the latest version as soon as possible.</p>\n<p><a href=\"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-39924\">CVE-2024-39924</a>\u00a0Fixed via\u00a0<a href=\"https://github.com/dani-garcia/vaultwarden/pull/4715\">#4715</a></p>\n<p><a href=\"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-39925\">CVE-2024-39925</a>\u00a0Fixed via\u00a0<a href=\"https://github.com/dani-garcia/vaultwarden/pull/4837\">#4837</a></p>\n<p><a href=\"https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-39926\">CVE-2024-39926</a>\u00a0Fixed via\u00a0<a href=\"https://github.com/dani-garcia/vaultwarden/pull/4737\">#4737</a></p>\n</blockquote>\n<p><a href=\"https://github.com/dani-garcia/vaultwarden/releases/tag/1.32.0\">Release page</a></p>",
"date_published": "2024-08-11T19:59:00+00:00",
"authors": [
{
"name": "-rch-",
"url": "https://www.reddit.com/user/-rch-"
}
]
},
{
"id": "1eprw7t",
"url": "/r/selfhosted/comments/1eprw7t/just_scored_free_rack_servernow_what/",
"external_url": "https://i.redd.it/n7k6o31jw2id1.jpeg",
"title": "Just scored free rack server...now what?",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1eprw7t/just_scored_free_rack_servernow_what/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1eprw7t/just_scored_free_rack_servernow_what/'>Reddit</a></caption><div><br></div><p>I got this HP ProLiant DL560 Gen9 rack server from work for free and will be getting 8 drives for it tomorrow as well from a coworker. I'm super psyched to have a new toy to play around with.</p>\n<p>I don't have any experience with rack servers. I've been using a mini PC and my first PC build as servers up until now. One has Ubuntu server for Plex, Minecraft, FoundryVTT, and probably some other things I can't remember. My other one has Proxmox set up for VMs. I'm hoping to get NextCloud and whatever else I can come up with set up on this thing.</p>\n<p>I don't have a lot of space for a rack server in my home, however. There is no room for rack anywhere at this point. Would it be fine if I just kept it on a shelf in my utility room like this? The vents aren't covered up or anything, but I'm not sure how warm the chassis will get when it is running. </p>\n<p>I'm open to suggestions of any kind! </p><div><br></div><img src=\"https://i.redd.it/n7k6o31jw2id1.jpeg\" />",
"date_published": "2024-08-11T18:32:59+00:00",
"authors": [
{
"name": "CaptainKamikaZ",
"url": "https://www.reddit.com/user/CaptainKamikaZ"
}
]
},
{
"id": "1ego14i",
"url": "/r/selfhosted/comments/1ego14i/well_played_linode/",
"external_url": "https://i.imgur.com/UbUw3Xg.jpeg",
"title": "Well played Linode...",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1ego14i/well_played_linode/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1ego14i/well_played_linode/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.imgur.com/UbUw3Xg.jpeg\" />",
"date_published": "2024-07-31T14:05:00+00:00",
"authors": [
{
"name": "DM_Me_Summits_In_UAE",
"url": "https://www.reddit.com/user/DM_Me_Summits_In_UAE"
}
]
},
{
"id": "1eb92an",
"url": "/r/selfhosted/comments/1eb92an/suddenly_our_self_hosted_application_became_more/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1eb92an/suddenly_our_self_hosted_application_became_more/",
"title": "Suddenly our Self Hosted application became more than just hobby.",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1eb92an/suddenly_our_self_hosted_application_became_more/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1eb92an/suddenly_our_self_hosted_application_became_more/'>Reddit</a></caption><div><br></div><p>If you already don't know, Bangladesh was disconnected from the internet for majority of the last week due to government order. It was shut down without any warning. We were put under curfew 24/7, so no leaving home. </p>\n<p>On the second day of curfew, me, with nothing to do, figured the intranet in our country still worked. So I opened my Jellyfin service up and gave access to my immediate family and friends. Then we had people stepping up. One opened a simple chat application. Believe me, I never felt happier reading messages from a bunch of random people on the internet. Once people started communicating it only got better. We had a jitsi meet up and running within a few hours. People opened up their media library. Last couple of days, I almost didn't miss the traditional internet.</p>\n<p>I have to thank you guys for all the encouragement. \nAlso I do have a few questions for you guys.</p>\n<p>I'm fearing this will not be the last time we will be blocked from the world. What can we do to make things even better next time?\nOne major problem was TLS CERTS stopped working. So the communication was in http using IP address </p>\n<p>What are some apps to host if the same situation to arise again?</p>\n<p>Sorry for the bad English, not my first language.</p>",
"date_published": "2024-07-24T18:41:26+00:00",
"authors": [
{
"name": "cs_antorkhan",
"url": "https://www.reddit.com/user/cs_antorkhan"
}
]
},
{
"id": "1ea8iim",
"url": "/r/selfhosted/comments/1ea8iim/wording_change_and_clarification_for_purchasing/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1ea8iim/wording_change_and_clarification_for_purchasing/",
"title": "Wording change and clarification for purchasing Immich",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1ea8iim/wording_change_and_clarification_for_purchasing/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1ea8iim/wording_change_and_clarification_for_purchasing/'>Reddit</a></caption><div><br></div><p>Announcement Thread <a href=\"https://github.com/immich-app/immich/discussions/11313\">https://github.com/immich-app/immich/discussions/11313</a></p>\n<p>Hello everybody,</p>\n<p>Alex here! After the last announcement on a wording change in response to our mishap of using the words <code>licensed</code> and <code>unlicensed</code>, the team and I gave it a long hard thought over the weekend.</p>\n<p>I thought about it when I went to bed, I thought about it in my dream, I thought about it while doing the dishes. Taking into consideration all of your feedback and suggestions, and on behalf of the team, I am happy to show you what we came up with.</p>\n<ul>\n<li>There will be no <code>license</code> or <code>unlicensed</code>.</li>\n<li>We will change <code>License Key</code> to <code>Product Key</code>.</li>\n<li>We will show a \"Buy Immich\" button as the call to action. The button will only be shown if the account age is older than 14 days.</li>\n<li>We will give you options to hide the button for 30 days or indefinitely.</li>\n</ul>\n<p>https://preview.redd.it/qsrbqrn3y9ed1.png?width=886&format=png&auto=webp&s=ce958f44efd25718bb0438f1bdb12e57c8ab0166</p>\n<ul>\n<li>We will change the price to a whole number <code>$100</code> and <code>$25</code>. So get your product key now and you can save <code>$0.01</code> \ud83d\ude04</li>\n<li>We will add text to make our mission and intentions clear.</li>\n<li>We will refine the text about each option to clarify the content.</li>\n</ul>\n<p>https://preview.redd.it/qbkhzb43y9ed1.png?width=1053&format=png&auto=webp&s=cd3bb965088009ebefedd90b05536c031b4bdf2a</p>\n<p>Last but not least, we will add a fancy <code>Supporter Badge</code> to recognize those who purchase the product. If you have any ideas for making it \"shinier,\" let us know!</p>\n<p><a href=\"https://github.com/user-attachments/assets/ff1edb43-1838-45b9-85ed-1944645291f8\">https://github.com/user-attachments/assets/ff1edb43-1838-45b9-85ed-1944645291f8</a></p>\n<p>Thank you again for your support and feedback. We are working on these changes and will roll out in the next release in a few days.</p>\n<p>Have a good week!</p>\n<p>Cheers, Immich Team</p>",
"date_published": "2024-07-23T13:58:21+00:00",
"authors": [
{
"name": "altran1502",
"url": "https://www.reddit.com/user/altran1502"
}
]
},
{
"id": "1dt2k5k",
"url": "/r/selfhosted/comments/1dt2k5k/immich_highperformance_selfhosted_photo_and_video/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1dt2k5k/immich_highperformance_selfhosted_photo_and_video/",
"title": "Immich - High-performance self-hosted photo and video management solution (AKA The Google Photos replacement you have been waiting for) - Progress update, July 2024 - Now with similarity deduplication, web translation, SMTP email notification, and public roadmap \ud83c\udf89",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dt2k5k/immich_highperformance_selfhosted_photo_and_video/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dt2k5k/immich_highperformance_selfhosted_photo_and_video/'>Reddit</a></caption><div><br></div><p><a href=\"https://github.com/immich-app/immich\">GitHub Repository</a></p>\n<p>Hello everybody! Alex from Immich here, and I am back with another development progress update for the project.</p>\n<p>Summer has returned once again, and the night sky is filled with stars; thank you for <strong>38_000 shining stars</strong> you have sent to our <a href=\"https://github.com/immich-app/immich\">GitHub repo</a>! Since the last announcement, several core contributors have started working full-time. Everything is going great with development, PRs get merged with <em>brrrrrrr</em> rate, conversation exchange between team members is on a new high, we met and are working with the great engineers at FUTO. The spirit is high, and we have a lot of things brewing that we think you will like.</p>\n<p>Let's go over some of the updates we had since the last post.</p>\n<h1>Container consolidation</h1>\n<p>Reduced the number of total containers from 5 to 4 by making the microservices threads get spawned directly in the server container. Woohoo, remember when Immich had 7 containers?</p>\n<h1>Email notifications SMTP</h1>\n<p>https://preview.redd.it/xbuff7myqy9d1.png?width=1342&format=png&auto=webp&s=56007ddd86823ca0e0f020ade80d25f90d2f8bae</p>\n<p>We added email notifications to the app with SMTP settings that you can configure for the following events:</p>\n<ul>\n<li>A new account is created for you.</li>\n<li>You are added to a shared album.</li>\n<li>New media is added to an album.</li>\n</ul>\n<h1>Versioned docs</h1>\n<p>https://preview.redd.it/dtxszggzqy9d1.png?width=224&format=png&auto=webp&s=00d034a7f8a973c317cef7b3ba73be322f9dc703</p>\n<p>You can now jump back into the past or take a peek at the unreleased version of the documentation by selecting the version on the website.</p>\n<h1>Similarity deduplication</h1>\n<p><a href=\"https://preview.redd.it/yo64yhdsqy9d1.png?width=2620&format=png&auto=webp&s=77b68a8d640fa593c544ee8636e894b12bb3f07e\">Similarity deduplication control panel</a></p>\n<p>With more machine learning and CLIP magic, we now have similarity deduplication built into the application where it will search for closely similar images and let you decide what to do with them; i.e keep or trash.</p>\n<h1>Permanent URL for assets on the web</h1>\n<p>The detail view for an asset now has a permanent URL, so you can easily share it with your loved ones.</p>\n<h1>Web app translations</h1>\n<p>https://preview.redd.it/1fi0pl41ry9d1.png?width=1149&format=png&auto=webp&s=c405a3409d3d42af3f9d99b3fd514e39d9648dc6</p>\n<p>We now have a public Weblate project, which the community can use to translate the web app to their native languages. We are planning to port the mobile app translation to this platform as well. If you would like to contribute, you can take a look <a href=\"https://hosted.weblate.org/projects/immich/immich/\">here</a>. We're already close to 50% translations - we really appreciate everyone contributing to that!</p>\n<h1>Read-only/Editor mode on the shared album</h1>\n<p>As the owner of the album, you can choose if the shared user can edit the album or only view the content of the album without any modification.</p>\n<p>https://preview.redd.it/xdkx2sm3ry9d1.png?width=1206&format=png&auto=webp&s=929d30f664bf77639f550c89f23000334b970373</p>\n<h1>Better video thumbnails</h1>\n<p>Immich now tries to find a descriptive video thumbnail instead of simply using the first frame. No more black images for thumbnails!</p>\n<h1>Public Roadmap</h1>\n<p>We now have a <a href=\"https://immich.app/roadmap\">public roadmap</a>, giving you a high-level overview of things the team is working on. The first goal of this roadmap is to bring Immich to a stable release, which is expected sometime later this year. Some of the highlights include</p>\n<ul>\n<li>Auto stacking - Auto stacking of burst photos</li>\n<li>Basic editor - Basic photo editing capabilities</li>\n<li>Workflows - Automate tasks with workflows</li>\n<li>Fine-grained access controls - Granular access controls for users and API keys</li>\n<li>Better background backups - Rework background backups to be more reliable</li>\n<li>Private/locked photos - Private assets with extra protections</li>\n</ul>\n<p>Beyond the items in the roadmap, we have <em>many many</em> more ideas for Immich. The team and I hope that you are enjoying the application, find it helpful in your life and we have nothing but the intention of building out great software for you all!</p>\n<p>Have an amazing Summer or Winter for those in the southern hemisphere! :D</p>\n<p>Until next time,</p>\n<p>Cheers! Alex</p>",
"date_published": "2024-07-01T20:03:47+00:00",
"authors": [
{
"name": "altran1502",
"url": "https://www.reddit.com/user/altran1502"
}
]
},
{
"id": "1dqo95f",
"url": "/r/selfhosted/comments/1dqo95f/unpopular_opinion_i_dont_need_new_features_i_just/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1dqo95f/unpopular_opinion_i_dont_need_new_features_i_just/",
"title": "Unpopular opinion: I don't need new features; I just want everything to function as intended, be rock solid, and work reliably...",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dqo95f/unpopular_opinion_i_dont_need_new_features_i_just/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dqo95f/unpopular_opinion_i_dont_need_new_features_i_just/'>Reddit</a></caption><div><br></div><p>What drives the relentless quest for new features?</p>",
"date_published": "2024-06-28T16:47:13+00:00",
"authors": [
{
"name": "Zestyclose_Car1088",
"url": "https://www.reddit.com/user/Zestyclose_Car1088"
}
]
},
{
"id": "1dls0ku",
"url": "/r/selfhosted/comments/1dls0ku/today_selfhosting_made_me_the_hero_of_the_day_for/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1dls0ku/today_selfhosting_made_me_the_hero_of_the_day_for/",
"title": "Today selfhosting made me the hero of the day for my partner \ud83d\ude05",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dls0ku/today_selfhosting_made_me_the_hero_of_the_day_for/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dls0ku/today_selfhosting_made_me_the_hero_of_the_day_for/'>Reddit</a></caption><div><br></div><p>I've been selfhosting a bunch of stuff for a few years now, game servers, HomeAssistant, VPN, PiHole, Docker Registry, you name it basically. Mostly for myself/hobby, but I'm pleased to announce today was the day where it truly made a difference for my partner \ud83d\ude02</p>\n<p>Partner started making and ordering physical photo albums of our kid, one per year per grandparent, yesterday. When she was about to pick it back up today, images from the first year was missing in the album designer and the Google Shared Album we've used for these yearly albums. </p>\n<p>Immediate distress!</p>\n<p>Enter our Nextcloud photo sync for all raw images & the backups I've taken of the Google Shared Albums every year in January when the previous year was \"settled\".</p>\n<p>Partner was excited to say the least \ud83d\ude05</p>\n<p>Just wanted to share this with someone who would understand the feeling the gave me to be able to help my partner through what is essential my hobby \ud83c\udf89</p>",
"date_published": "2024-06-22T09:42:10+00:00",
"authors": [
{
"name": "Vezajin2",
"url": "https://www.reddit.com/user/Vezajin2"
}
]
},
{
"id": "1dey224",
"url": "/r/selfhosted/comments/1dey224/my_apache_dashboard/",
"external_url": "https://i.redd.it/4zctyws84c6d1.png",
"title": "My Apache dashboard...",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dey224/my_apache_dashboard/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dey224/my_apache_dashboard/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/4zctyws84c6d1.png\" />",
"date_published": "2024-06-13T12:42:45+00:00",
"authors": [
{
"name": "Naviios",
"url": "https://www.reddit.com/user/Naviios"
}
]
},
{
"id": "1de0onl",
"url": "/r/selfhosted/comments/1de0onl/my_home_assistant_dashboard/",
"external_url": "https://i.redd.it/kbifug86d36d1.png",
"title": "My Home Assistant Dashboard",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1de0onl/my_home_assistant_dashboard/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1de0onl/my_home_assistant_dashboard/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/kbifug86d36d1.png\" />",
"date_published": "2024-06-12T07:17:12+00:00",
"authors": [
{
"name": "Similar_Option_7408",
"url": "https://www.reddit.com/user/Similar_Option_7408"
}
]
},
{
"id": "1dcigvr",
"url": "/r/selfhosted/comments/1dcigvr/dont_become_a_cloudflare_victim/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1dcigvr/dont_become_a_cloudflare_victim/",
"title": "Don't become a Cloudflare victim",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dcigvr/dont_become_a_cloudflare_victim/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dcigvr/dont_become_a_cloudflare_victim/'>Reddit</a></caption><div><br></div><p>There is a <a href=\"https://bravado.co/war-room/posts/cloudflare-ceo-publicly-calls-out-sales-team-in-worst-earnings-call-to-date\">letter floating around the Internet</a> where the Cloudflare CEO complains that their sales-team is not doing their job, and that they \u201care now in the process of quickly rotating out those members of our team who have been underperforming.\u201d Those still with a job at Cloudflare are put under high pressure, and they pass-on the pressure to customers.</p>\n<p><a href=\"https://www.reddit.com/r/CloudFlare/comments/1d14zrf/cloudflare_took_down_our_website_after_trying_to/\">There are posts on Reddit</a> where customers are asked to fork over 120k$ within 24h, or be shut down. There are many complaints of pressure tactics trying to move customers up to the next Cloudflare tier.</p>\n<p>While this mostly affects corporate customers, us homelabbers and selfhosters should keep a wary eye on these developments. We mostly use the free, or maybe the cheapo business tier.\u00a0 Cloudflare wants to make money, and they are not making enough. Once you get hooked and dependent on their free stuff, prepare to eventually be asked for money, or be kicked out.</p>\n<p>Therefore:</p>\n<ul>\n<li><strong>Do not get dependent on Cloudflare.</strong> Always ask yourself what to do if they shut you down.</li>\n<li><strong>Always keep your domain registration separate from Cloudflare</strong>. \u00a0Register the domain elsewhere, delegate DNS to Cloudflare. If things get nasty, simply delegate your DNS away, and point it straight to your website.</li>\n<li>Without Cloudflare caching, your website would be a bit slower, but you are still up and running, and you can look for another CDN vendor.</li>\n<li>For those of us using the nifty cloudflared tunnel to run stuff at home without exposing our private parts to the Internet, being shut out from Cloudflare won\u2019t be the end. <a href=\"https://slashdot.org/software/p/Cloudflare-Tunnel/alternatives\"><strong>There are alternatives</strong></a> <strong>(maybe.)</strong> Push comes to shove, we could go ghetto until a better solution is found, and stick one of those cheapo mini-PCs into the DMZ before the router/firewall, and treat&administer it like a VPS rented elsewhere.</li>\n</ul>\n<p>Should Cloudflare ever kick you out of their free paradise, you shouldn\u2019t be down for more than a few minutes. If you are down for hours, or days, you are not doing it right.\u00a0 Don\u2019t get me wrong, I love Cloudflare, and I use it a lot. But we should be prepared for the love-affair turning sour.</p>",
"date_published": "2024-06-10T10:40:59+00:00",
"authors": [
{
"name": "Knurpel",
"url": "https://www.reddit.com/user/Knurpel"
}
]
},
{
"id": "1dabulx",
"url": "/r/selfhosted/comments/1dabulx/i_built_an_opensource_event_ticketing_platform/",
"external_url": "https://i.redd.it/352m7zt9r55d1.gif",
"title": "I built an open-source event ticketing platform",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1dabulx/i_built_an_opensource_event_ticketing_platform/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1dabulx/i_built_an_opensource_event_ticketing_platform/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/352m7zt9r55d1.gif\" />",
"date_published": "2024-06-07T14:17:10+00:00",
"authors": [
{
"name": "Caseyrover",
"url": "https://www.reddit.com/user/Caseyrover"
}
]
},
{
"id": "1d9m1pv",
"url": "/r/selfhosted/comments/1d9m1pv/kinda_struggling_with_dovecot_but_its_really_not/",
"external_url": "https://i.redd.it/mrj4c8ei61r91.png",
"title": "Kinda struggling with dovecot but it's really not that hard",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1d9m1pv/kinda_struggling_with_dovecot_but_its_really_not/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1d9m1pv/kinda_struggling_with_dovecot_but_its_really_not/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/mrj4c8ei61r91.png\" />",
"date_published": "2024-06-06T16:14:15+00:00",
"authors": [
{
"name": "attractedadopt",
"url": "https://www.reddit.com/user/attractedadopt"
}
]
},
{
"id": "1d78zmp",
"url": "/r/selfhosted/comments/1d78zmp/comparison_for_shared_vps_from_different/",
"external_url": "https://i.redd.it/5lytzezpxd4d1.png",
"title": "Comparison for shared VPS from different providers (15-20 EUR)",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1d78zmp/comparison_for_shared_vps_from_different/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1d78zmp/comparison_for_shared_vps_from_different/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/5lytzezpxd4d1.png\" />",
"date_published": "2024-06-03T16:41:25+00:00",
"authors": [
{
"name": "PlagueCookie",
"url": "https://www.reddit.com/user/PlagueCookie"
}
]
},
{
"id": "1d5tgf0",
"url": "/r/selfhosted/comments/1d5tgf0/got_my_first_it_job_cause_this_sub/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1d5tgf0/got_my_first_it_job_cause_this_sub/",
"title": "Got my first IT job cause this sub",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1d5tgf0/got_my_first_it_job_cause_this_sub/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1d5tgf0/got_my_first_it_job_cause_this_sub/'>Reddit</a></caption><div><br></div><p>I got into self hosting back in 2016 cause I was tired of having to pay for Netflix, Hulu just to watch 1 thing on that platform. Found Plex and found out how to download movies/TV shows.</p>\n<p>Then manually searching for content became a pain. So I automated the process with my Arr stack.</p>\n<p>Then in 2020 I found network chuck who introduced me to docker with his portainer video. Along with the basics of Linux & Networking.</p>\n<p>Fast forward 4 years now (24 now) I have a whole homelab infrastructure. 2 proxmox nodes, TrueNas, AWX, Cloud machines, authentik, probably 45 Virtual machines in total all for different services. 7 domains and countless subdomains, CI/CD for Git repos, etc. If it's open source and can be installed in a homelab, ive probably tried it.</p>\n<p>Anyway, before this I didn't know anything about Linux/tech. Was working a sales job. But this has became an addiction lol. I fully credit this subreddit for showing me what's all out there.</p>\n<p>I don't have any certs so getting IT job was gonna be hard.\nOne day I finally said I'm done with sales and applied for some IT jobs. Got an interview at a VOIP company and I didn't know a thing about VoIP but they were impressed with my homelab and understanding of systems, so they hired me.</p>\n<p>Now here I am 8 weeks later, working on PBX systems, SSH'ing into Linux servers and troubleshooting, remoting into clients networks, configuring VM's, etc. Basically exactly what I do at home. And doing so well some of the more advanced people in the office think I should moving up to sysadmin.</p>\n<p>Most of my coworkers all have A+, Net+ and Sec+ and I'm hanging right in there with them, I teach them things that I've learned by going the self hosted route, they teach me things from the certificate route.</p>\n<p>Anyways, I just wanted to thank this subreddit. Thanks for sharing your open source projects, thanks for all the help I've received over the last few years. I guess it is all starting to pay off. If I can do it you can too.</p>",
"date_published": "2024-06-01T18:29:29+00:00",
"authors": [
{
"name": "Mafyuh",
"url": "https://www.reddit.com/user/Mafyuh"
}
]
},
{
"id": "1d4y0re",
"url": "/r/selfhosted/comments/1d4y0re/your_backup_is_a_separate_nas_my_backup_is_god/",
"external_url": "https://i.redd.it/fgyujlfj3s3d1.jpeg",
"title": "Your backup is a separate NAS, my backup is God\u2026",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1d4y0re/your_backup_is_a_separate_nas_my_backup_is_god/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1d4y0re/your_backup_is_a_separate_nas_my_backup_is_god/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/fgyujlfj3s3d1.jpeg\" />",
"date_published": "2024-05-31T15:14:49+00:00",
"authors": [
{
"name": "franco84732",
"url": "https://www.reddit.com/user/franco84732"
}
]
},
{
"id": "1cyto25",
"url": "/r/selfhosted/comments/1cyto25/after_years_of_procrastination_godaddy_finally/",
"external_url": "https://i.redd.it/tpcok027o62d1.jpeg",
"title": "After years of procrastination, GoDaddy finally put the final nail in the coffin by cutting API access. Good riddance!",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cyto25/after_years_of_procrastination_godaddy_finally/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cyto25/after_years_of_procrastination_godaddy_finally/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/tpcok027o62d1.jpeg\" />",
"date_published": "2024-05-23T14:08:17+00:00",
"authors": [
{
"name": "farva_06",
"url": "https://www.reddit.com/user/farva_06"
}
]
},
{
"id": "1cvsu9m",
"url": "/r/selfhosted/comments/1cvsu9m/stirling_pdf_is_a_cool_project/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1cvsu9m/stirling_pdf_is_a_cool_project/",
"title": "Stirling PDF is a cool project",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cvsu9m/stirling_pdf_is_a_cool_project/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cvsu9m/stirling_pdf_is_a_cool_project/'>Reddit</a></caption><div><br></div><p>Just wanted to mention that Stirling PDF is a very cool project <a href=\"https://github.com/Stirling-Tools/Stirling-PDF\">https://github.com/Stirling-Tools/Stirling-PDF</a> You can perform numerous tasks on PDF documents all from a central website.</p>",
"date_published": "2024-05-19T16:56:53+00:00",
"authors": [
{
"name": "Slow_Wafer3174",
"url": "https://www.reddit.com/user/Slow_Wafer3174"
}
]
},
{
"id": "1cv2l3q",
"url": "/r/selfhosted/comments/1cv2l3q/security_psa_for_anyone_using_docker_on_a/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1cv2l3q/security_psa_for_anyone_using_docker_on_a/",
"title": "Security PSA for anyone using Docker on a publicly accessible host. You may be exposing ports you\u2019re not aware of\u2026",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cv2l3q/security_psa_for_anyone_using_docker_on_a/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cv2l3q/security_psa_for_anyone_using_docker_on_a/'>Reddit</a></caption><div><br></div><p>I have been using Docker for years now and never knew this until about 20min ago. I have never seen this mentioned anywhere or in any tutorial I have ever followed. </p>\n<p>When you spin up a docker container using the host network its port mappings will override your firewall rules and open those ports, even if you already created a rule to block that port. Might not be that big of a deal unless you\u2019re on a publicly accessible system like a VPS! </p>\n<p>When you\u2019re setting up a container you need to modify your port bindings for any ports you don\u2019t want accessible over the internet. </p>\n<p>Using NGINX Proxy Manager as an example:</p>\n<p><code>ports:\n - \u201880:80\u2019\n - \u2018443:443\u2019\n - \u201881:81\u2019</code></p>\n<p>Using these default port bindings will open all those ports to the internet including the admin UI on port 81. I would assume most of us would rather manage things through a VPN and only have the ports open that we truly need open. Especially considering that port 81 in this case is standard http and not encrypted. </p>\n<p>To fix this was surprisingly easy. You need to bind the port to the interface you want. So if you only want local access use <code>127.0.0.1</code> but in my example I\u2019m using Tailscale. </p>\n<p><code>ports:\n - \u201880:80\u2019\n - \u2018443:443\u2019\n - \u2018100.0.0.1:81:81\u2019</code></p>\n<p>This will still allow access to port 81 for management, but only through my Tailscale interface. So now port 81 is no longer open to the internet, but I can still access it through Tailscale. </p>\n<p>Hopefully this is redundant for a lot of people. However I assume if I have gone this long without knowing this then I\u2019m probably not the only one. Hopefully this helps someone. </p>",
"date_published": "2024-05-18T17:34:54+00:00",
"authors": [
{
"name": "RoleAwkward6837",
"url": "https://www.reddit.com/user/RoleAwkward6837"
}
]
},
{
"id": "1cu2dow",
"url": "/r/selfhosted/comments/1cu2dow/my_very_biased_personal_review_of_several/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1cu2dow/my_very_biased_personal_review_of_several/",
"title": "My very biased personal review of several self-hosted reverse proxy solutions for home use",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cu2dow/my_very_biased_personal_review_of_several/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cu2dow/my_very_biased_personal_review_of_several/'>Reddit</a></caption><div><br></div><p>(This was originally a comment, but I decided to make it a post to share with others.)</p>\n<p>Over the past few months, I've tested several self-hosted reverse proxy solutions for my local network and I decided to share my experience for anyone else in the market. Full disclosure: I'm not an advanced user, nor am I an authority on this subject whatsoever. I mainly use reverse proxies for accessing simple local services with SSL behind memorable URLs and haven't dipped my toes into anything more complex than integrating Authentik for SSO. I prefer file-based configuration, avoid complexity, and don't need advanced features; so this list certainly won't be valuable for everyone. Feel free to share your opinions; I'd love to hear what everyone else is using.</p>\n<p>Here's my opinionated review of the reverse proxy solutions I've tried, ranked from most likely to recommend to newcomers to least likely:</p>\n<ol>\n<li><a href=\"https://caddyserver.com/docs/quick-starts/reverse-proxy\">Caddy</a>: As easy as it could possibly get, and by far the most painless reverse proxy I've used. It's extremely lightweight, performant, and modular with plenty of extensions. Being able to configure my entire home network's reverse proxy hosts from a single, elegantly formatted Caddyfile is a godsend. Combined with the <a href=\"https://github.com/coder/code-server\">VS Code Server</a> for easy configuration from a browser, I couldn't recommend a more painless solution for beginners who simply want to access their local services behind a TLD without browser warnings. Since I have my own FQDN through Cloudflare but don't have any public-facing services, I personally use the <a href=\"https://github.com/caddy-dns/cloudflare\">Cloudflare DNS provider Caddy addon</a> to benefit from full SSL using just a single line of configuration. Though, if your setup is complex enough to require using the JSON config, or you rely heavily on Docker, you might also consider Traefik.</li>\n<li><a href=\"https://doc.traefik.io/traefik/\">Traefik</a>: Probably the most powerful and versatile option I've tried, with the necessary complexity and learning curve that entails. Can do everything Caddy can do (perhaps even better depending on who you ask). I still use it on systems I haven't migrated away from Docker as the label system is fantastic. I find the multiple approaches to configuration and the corresponding documentation hard to wrap my head around sometimes, but it's still intuitive. Whether or not I'd recommend Traefik to \"newcomers\" depends entirely on what type of newcomer we're talking about: Someone already self-hosting a few services that knows the basics? Absolutely. My dad who just got a Synology for his birthday? There's probably better options.</li>\n<li><a href=\"https://zoraxy.arozos.com/#home\">Zoraxy</a>: The best GUI-based reverse proxy solution I'm familiar with, despite being relatively new to the scene. I grew out of it quickly as it was missing very basic features like SSL via DNS challenges when I last tried it, but I'm still placing it high on the list solely for providing the only viable option for people with a phobia of config files that I currently know of. It also has a really sleek interface, although I can't say anything about long-term stability or performance. YMMV.</li>\n<li><a href=\"https://www.f5.com/go/product/welcome-to-nginx\">NGINX</a>: Old reliable. It's only this far down the list because I prefer Traefik over vanilla NGINX for more complex use cases these days and haven't used it for proxy purposes in recent memory. I have absolutely nothing bad to say about NGINX (besides finding the configuration a bit ugly) and I use it for public-facing services all the time. If you're already using NGINX, you probably have a good reason to, and this list will have zero value to you.</li>\n<li><a href=\"https://youtu.be/9bV5zQbrp_Q?t=9\">NGINX Proxy Manager</a>: Unreliable. It's this far down the list because I'd prefer anything over NPM. Don't let its shiny user-friendly frontend fool you, as underneath lies a trove of deceit that will inevitably lead you down a rabbit hole of stale issues and nonexistent documentation. \"I've been using NPM for months and have never had an issue with it.\" WRONG. By the time you've read this, half of your proxy hosts are offline, and the frontend login has inexplicably stopped working. Hyperbole aside, my reasoning for not recommending NPM isn't that it totally broke for me on multiple occasions, but the fact that a major rewrite (v3) is supposedly in the works and the current version probably isn't updated as much as it should be. If you're starting from scratch right now, I'd recommend anything else for now. Just my experience though, and I'm curious how common this sentiment is.</li>\n</ol>\n<p><strong>Honorable mentions</strong>:</p>\n<ul>\n<li><a href=\"https://docs.linuxserver.io/general/swag/\">SWAG</a>: Haven't used this one since I moved away from Docker, but I've seen it recommended a ton and it seems the <a href=\"http://linuxserver.io\">linuxserver.io</a> guys are held in pretty high regard. It's definitely worth a look if you use Docker or want an alternative Traefik.</li>\n<li><a href=\"https://www.haproxy.org/\">HAProxy</a><strong>:</strong> I didn't include it in the list because I was using the OPNsense addon and nearly went insane in the process. It might have just been the GUI, but it's the only reverse proxy solution I've used that made me actively feel like a moron. Definitely has its purpose, but I personally had no reason to keep putting myself through that </li>\n</ul>\n<p>Edit: Clarified my reasoning for the NPM listing a bit more as it came off a bit inflammatory, sorry. I lost a lot of sleepless nights to some of those issues.</p>",
"date_published": "2024-05-17T11:02:06+00:00",
"authors": [
{
"name": "dipplersdelight",
"url": "https://www.reddit.com/user/dipplersdelight"
}
]
},
{
"id": "1csqq3r",
"url": "/r/selfhosted/comments/1csqq3r/no_homeserver_dashboard_is_like_what_i_want_but/",
"external_url": "https://i.redd.it/obek55cdmm0d1.png",
"title": "No Homeserver Dashboard is like what I want. But wait I'm a developer...",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1csqq3r/no_homeserver_dashboard_is_like_what_i_want_but/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1csqq3r/no_homeserver_dashboard_is_like_what_i_want_but/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/obek55cdmm0d1.png\" />",
"date_published": "2024-05-15T17:37:53+00:00",
"authors": [
{
"name": "sangwan_5688",
"url": "https://www.reddit.com/user/sangwan_5688"
}
]
},
{
"id": "1cpsn0z",
"url": "/r/selfhosted/comments/1cpsn0z/jellyfin_release_1090/",
"external_url": "https://jellyfin.org/posts/jellyfin-release-10.9.0",
"title": "Jellyfin Release 10.9.0",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cpsn0z/jellyfin_release_1090/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cpsn0z/jellyfin_release_1090/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-05-11T22:13:47+00:00",
"authors": [
{
"name": "tgp1994",
"url": "https://www.reddit.com/user/tgp1994"
}
]
},
{
"id": "1cnipp3",
"url": "/r/selfhosted/comments/1cnipp3/warning_godaddy_silently_cut_access_to_their_dns/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1cnipp3/warning_godaddy_silently_cut_access_to_their_dns/",
"title": "Warning: Godaddy silently cut access to their DNS API unless you pay them more money. If you're using Godaddy domain with letsencrypt or acme, be aware because your autorenewal will fail.",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cnipp3/warning_godaddy_silently_cut_access_to_their_dns/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cnipp3/warning_godaddy_silently_cut_access_to_their_dns/'>Reddit</a></caption><div><br></div><p>If you use godaddy as a domain registrar and are using their DNS api to validate your ssl cert, please take notice.</p>\n<p>Check this shit out. Godaddy fucking disable their DNS api unless you you have 10 domains with them or are subscribed to their \"cheap domain\" subscription bullshit.</p>\n<p>How do I know this? Found out today when a client called frantically because their locally hosted web app is down. I log into their local server and run the acme wizard trying to manually renew, only to get a \"Forbidden\". Miraculously google fu blesses me and I find this thread below where people are having the same problems. They're all coming to same slow realization of what is happening. That godaddy pulled some horseshit without telling anyone.</p>\n<p><a href=\"https://www.reddit.com/r/godaddy/comments/1bl0f5r/am_i_the_only_one_who_cant_use_the_api/\">https://www.reddit.com/r/godaddy/comments/1bl0f5r/am_i_the_only_one_who_cant_use_the_api/</a></p>",
"date_published": "2024-05-08T23:26:40+00:00",
"authors": [
{
"name": "whole_kernel",
"url": "https://www.reddit.com/user/whole_kernel"
}
]
},
{
"id": "1cjfw0j",
"url": "/r/selfhosted/comments/1cjfw0j/showcase_of_my_mixed_reality_interface_for_home/",
"external_url": "https://i.redd.it/fwan0j4399yc1.gif",
"title": "Showcase of my Mixed Reality Interface for Home Assistant",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cjfw0j/showcase_of_my_mixed_reality_interface_for_home/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cjfw0j/showcase_of_my_mixed_reality_interface_for_home/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/fwan0j4399yc1.gif\" />",
"date_published": "2024-05-03T18:32:37+00:00",
"authors": [
{
"name": "Nitwel1",
"url": "https://www.reddit.com/user/Nitwel1"
}
]
},
{
"id": "1cih617",
"url": "/r/selfhosted/comments/1cih617/cautionary_tale_on_automated_speed_tests/",
"external_url": "https://i.redd.it/0ghxpe5ix0yc1.jpeg",
"title": "Cautionary Tale on Automated Speed Tests",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cih617/cautionary_tale_on_automated_speed_tests/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cih617/cautionary_tale_on_automated_speed_tests/'>Reddit</a></caption><div><br></div><p>Quick cautionary tale for other tinkerers:</p>\n<p>I set up a scheduled Speedtest using <a href=\"https://github.com/alexjustesen/speedtest-tracker\">alexjustesen/speedtest-tracker</a> to run on my network so that I could keep track of my speeds throughout the day and throughout the month. We have a lot of issues with our Internet provider giving us iffy service from time to time, so I wanted proof. </p>\n<p>Well, apparently I had the Speedtest set for every five minutes, not every hour. Logged into our Internet provider a few days ago, and, wow.</p>\n<p>Changed it to hourly on 4/30, mid-day. 5/1 is the first full day with the change. I\u2019m sure my ISP hates me lol. \ufffc </p>\n<p>Lesson learned! Hope this helps someone else not accidentally get any ISP overage charges lol</p><div><br></div><img src=\"https://i.redd.it/0ghxpe5ix0yc1.jpeg\" />",
"date_published": "2024-05-02T14:32:12+00:00",
"authors": [
{
"name": "heauxheauxheauxyall",
"url": "https://www.reddit.com/user/heauxheauxheauxyall"
}
]
},
{
"id": "1chmz2p",
"url": "/r/selfhosted/comments/1chmz2p/the_immich_core_team_goes_fulltime/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1chmz2p/the_immich_core_team_goes_fulltime/",
"title": "The Immich core team goes full-time",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1chmz2p/the_immich_core_team_goes_fulltime/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1chmz2p/the_immich_core_team_goes_fulltime/'>Reddit</a></caption><div><br></div><p><strong>Immich is joining <a href=\"https://futo.org\">FUTO</a>!</strong></p>\n<p>Since the beginning of this adventure, my goal has always been to create a better world for my children. Memories are priceless, and privacy should not be a luxury. However, building quality open source has its challenges. Over the past two years, it has taken significant dedication, time, and effort.</p>\n<p>Recently, a company in Austin, Texas, called FUTO contacted the team. FUTO strives to develop quality and sustainable open software. They build software alternatives that focus on giving control to users. From their mission statement:</p>\n<p>\u201cComputers should belong to you, the people. We develop and fund technology to give them back.\u201d</p>\n<p>FUTO loved Immich and wanted to see if we\u2019d consider working with them to take the project to the next level. In short, FUTO offered to:</p>\n<ul>\n<li>Pay the core team to work on Immich full-time</li>\n<li>Let us keep full autonomy about the project\u2019s direction and leadership</li>\n<li>Continue to license Immich under AGPL</li>\n<li>Keep Immich\u2019s development direction with no paywalled features</li>\n<li>Keep Immich \u201cbuilt for the people\u201d (no ads, data mining/selling, or alternative motives)</li>\n<li>Provide us with financial, technical, legal, and administrative support</li>\n</ul>\n<p>After careful deliberation, the team decided that FUTO\u2019s vision closely aligns with our own: to build a better future by providing a polished, performant, and privacy-preserving open-source software solution for photo and video management delivered in a sustainable way.</p>\n<p>Immich\u2019s future has never looked brighter, and we look forward to realizing our vision for Immich as part of FUTO.</p>\n<p>See our post <a href=\"https://immich.app/blog/2024/immich-core-team-goes-fulltime\">here</a> for full details about this change, including answers to frequently asked questions. If you have more questions, we\u2019ll host a Q&A live stream on May 9th at 3PM UTC (10AM CST). <a href=\"https://www.live-ask.com/event/01HWP2SB99A1K8EXFBDKZ5Z9CF\">You can ask questions here</a>, and the stream will be live <a href=\"https://youtube.com/live/cwz2iZwYpgg\">here on our YouTube channel</a>.</p>\n<p>Cheers,</p>\n<p>The Immich Team</p>",
"date_published": "2024-05-01T14:03:17+00:00",
"authors": [
{
"name": "altran1502",
"url": "https://www.reddit.com/user/altran1502"
}
]
},
{
"id": "1cgbj13",
"url": "/r/selfhosted/comments/1cgbj13/my_girlfriend_was_still_using_netflix_to_watch/",
"external_url": "https://www.reddit.com/gallery/1cgbj13",
"title": "My girlfriend was still using Netflix to watch her favorite shows until it finally kicked her from her parents account. This made all the hassle of setting up Jellyfin + Arr worth it",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cgbj13/my_girlfriend_was_still_using_netflix_to_watch/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cgbj13/my_girlfriend_was_still_using_netflix_to_watch/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-04-29T21:48:45+00:00",
"authors": [
{
"name": "Eubank31",
"url": "https://www.reddit.com/user/Eubank31"
}
]
},
{
"id": "1cenjeu",
"url": "/r/selfhosted/comments/1cenjeu/glance_a_minimal_dashboard_that_puts_all_the/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1cenjeu/glance_a_minimal_dashboard_that_puts_all_the/",
"title": "Glance: a minimal dashboard that puts all the information you care about in one place",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1cenjeu/glance_a_minimal_dashboard_that_puts_all_the/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1cenjeu/glance_a_minimal_dashboard_that_puts_all_the/'>Reddit</a></caption><div><br></div><p><a href=\"https://github.com/glanceapp/glance\">https://github.com/glanceapp/glance</a></p>\n<p>Finally, <a href=\"https://www.reddit.com/r/selfhosted/comments/1alazj2/\">the dashboard I teased 3 months ago</a> is now released. It started off as a project to help me learn Go and has evolved into something I use every day. There is still much to be done - an actual logo, more features, customizations, widgets, bug fixes, etc, and I'm looking forward to learning further and getting better at Go as I continue to work on this project.</p>\n<p>Configuring the dashboard has a bit of a learning curve to it but I've provided a simple <a href=\"https://github.com/glanceapp/glance/blob/main/docs/configuration.md#preconfigured-page\">preconfigured page</a> to help you get started.</p>\n<p>A docker container is available so installation is pretty straightforward, just make sure you have a valid <code>glance.yml</code> file:</p>\n<pre><code>docker run -d -p 8080:8080 \\\n -v ./glance.yml:/app/glance.yml \\\n -v /etc/timezone:/etc/timezone:ro \\\n -v /etc/localtime:/etc/localtime:ro \\\n glanceapp/glance\n</code></pre>\n<p>(localtime and timezone are required for the calendar to work properly)</p>\n<p>I don't blame you if you're skeptical about running random containers from projects that came out literally today - you absolutely should be! You are more than welcome to build the project yourself from source and run it however you prefer. So long as you have Go installed it's as simple as <code>go build .</code></p>\n<p>Can't wait to see what kind of page configurations and themes people come up with!</p>",
"date_published": "2024-04-27T20:03:15+00:00",
"authors": [
{
"name": "SvilenMarkov",
"url": "https://www.reddit.com/user/SvilenMarkov"
}
]
},
{
"id": "1c81jmo",
"url": "/r/selfhosted/comments/1c81jmo/received_cease_and_desist_letter_over_company/",
"external_url": "https://i.redd.it/7mx666ywsgvc1.jpeg",
"title": "Received cease and desist letter over company name in catch-all email address",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c81jmo/received_cease_and_desist_letter_over_company/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c81jmo/received_cease_and_desist_letter_over_company/'>Reddit</a></caption><div><br></div><p>I can\u2019t stop laughing. I don\u2019t even know how to respond. </p>\n<p>Any suggestions on how to respond? These aren\u2019t the most \u201ctech savvy\u201d individuals so I\u2019m not sure it\u2019s worth explaining how a catch-all email works. It will likely go over their heads</p><div><br></div><img src=\"https://i.redd.it/7mx666ywsgvc1.jpeg\" />",
"date_published": "2024-04-19T16:42:35+00:00",
"authors": [
{
"name": "forkbombctl",
"url": "https://www.reddit.com/user/forkbombctl"
}
]
},
{
"id": "1c6eicq",
"url": "/r/selfhosted/comments/1c6eicq/today_i_left_the_cloud/",
"external_url": "https://www.reddit.com/gallery/1c6eicq",
"title": "Today I left the cloud.",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c6eicq/today_i_left_the_cloud/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c6eicq/today_i_left_the_cloud/'>Reddit</a></caption><div><br></div>",
"date_published": "2024-04-17T16:36:48+00:00",
"authors": [
{
"name": "q3431l4u4984no",
"url": "https://www.reddit.com/user/q3431l4u4984no"
}
]
},
{
"id": "1c5r34d",
"url": "/r/selfhosted/comments/1c5r34d/when_people_ask_why_i_selfhost_this_is_the_sort/",
"external_url": "https://i.redd.it/3bb2vpt9d7g61.jpg",
"title": "When people ask why I selfhost this is the sort of example I point to",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c5r34d/when_people_ask_why_i_selfhost_this_is_the_sort/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c5r34d/when_people_ask_why_i_selfhost_this_is_the_sort/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/3bb2vpt9d7g61.jpg\" />",
"date_published": "2024-04-16T20:55:50+00:00",
"authors": [
{
"name": "wumborkie",
"url": "https://www.reddit.com/user/wumborkie"
}
]
},
{
"id": "1c4oh6u",
"url": "/r/selfhosted/comments/1c4oh6u/i_hated_nextcloud_for_almost_3_years_because_i/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1c4oh6u/i_hated_nextcloud_for_almost_3_years_because_i/",
"title": "I hated Nextcloud for almost 3 years because I misconfigured it",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c4oh6u/i_hated_nextcloud_for_almost_3_years_because_i/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c4oh6u/i_hated_nextcloud_for_almost_3_years_because_i/'>Reddit</a></caption><div><br></div><p>Learn from my mistakes: read your logs and double check your reverse proxy configuration(s).</p>\n<p>I've been running Nextcloud for almost 3 years now, and that entire time it has been slow. Not just slower than it should be, not just slow to sync files, but slow in every single respect. We're talking 3-5 seconds to load every web page slow. We're talking 100KB-300KB max transfer rate slow. It's been truly unusably slow. In the last 3 years I have poured more hours than I care to think about into performance tuning. Modifying PHP FPM settings, throwing more CPU+RAM at the problem, playing with disk mount parameters. The works. In all that time I've gotten page loads down to 2-3 seconds and transfers to reliably hit 1MB. Better, but still dear lord.</p>\n<p>Between this issue and the fact that every time I update it I have to essentially rebuild the application because something breaks, I had essentially written off Nextcloud. It was good enough for the things I didn't care about customizing (calendar, file sync, phone backup, etc) as long as I use external clients instead of the web interface. Oh well, maybe someday I'll revisit it and switch to something else.</p>\n<p>A bit about my setup for background: I run a distributed cluster currently with 5 nodes all of which have storage and compute resources. Docker Swarm manages container orchestration and GlusterFS pools the storage blocks into one replicated network disk. Within Swarm I have stacks for each application I run and one \"core\" stack that handles common resources like the reverse proxy, LetsEncrypt, etc. So I have a Nextcloud stack with its own containers isolated and the reverse proxy simply handles SSL termination and forwarding 80/443 to that stack where it gets picked up by the web server within the Nextcloud stack.</p>\n<p>Fast forward to last week and I found <a href=\"https://github.com/flor0/nextcloud-docker\">this repo</a> that uses a custom built FPM container to run Nextcloud. Up until now I'd been using <a href=\"https://github.com/nextcloud/all-in-one\">AIO</a> and hated it. I didn't want 2/3 of the features but disabling them broke things so I ended up maintaining a stack that was way heavier and more complicated than I needed it to be. When I found the minimal FPM implementation I was ecstatic and immediately began switching to it (it didn't help that my Nextcloud was down at the time because of another update migration failure). I got it working locally on my workstation for testing and it was <em>fast</em>! Like blazingly, like \"this is how a webpage should work\" fast! I was over the moon! Converted the local dev stack to a production ready one, backed up my existing installation, deployed it to my cluster and... it's slow. Still faster than the old setup, but just barely. Goddammit. \"Maybe my infrastructure just isn't compatible with Nextcloud\" I think to myself, \"Maybe the computer gods have simply deemed me unworthy\". Oh well, this new setup will still make updates easier down the road so no sense in going back to AIO, so may as well complete the migration.</p>\n<p>I'm working my way through the Nextcloud post-install warnings on the overview page when I notice one I'd never seen before:</p>\n<blockquote>\n<p>Your client has been identified as <code><ip in my nextcloud stack network></code> and has been rate limited. If this is unexpected your reverse proxy configuration may be incorrect.</p>\n</blockquote>\n<p>Easy enough to fix. The PHP-FPM container is detecting all requests coming from the web server as originating from the same client and rate limiting them. Add the Nextcloud stack network to the <code>trusted_proxies</code> config parameter and the error goes away. Not a problem, but the little spinning beach ball in my head doesn't go away. Somethings bothering me about it, but I'm not sure what yet, so I continue with the migration. I start getting my phone hooked back up to the new server: app login goes fine, but when I try to connect DAVx to sync calendars I get \"Cannot login: [429] failed\". 429 is Too Many Requests. Lightbulb.</p>\n<p>At the debug level of the Nginx logs for the Nextcloud stack web server I find my smoking gun:</p>\n<blockquote>\n<p>Client <code><ip of my core reverse proxy></code> is rate limited</p>\n</blockquote>\n<p>I add the IP of the <em>core</em> reverse proxy to the <code>trusted_proxies</code> config parameter, restart Nextcloud, and... it's fast! Like really fast! Like literally faster than I have ever personally seen Nextcloud run, ever, in my life! For the first time I am experiencing the Nextcloud I've heard people talk so highly of but had never actually used! Because I had configured <code>trusted_proxies</code> and the request seemed to be coming from outside the local (Nextcloud stack) network Nextcloud itself detected the IP of my core reverse proxy as an external IP and so didn't give me the \"your reverse proxy config may be wrong\" error. But because it was treating the core reverse proxy as an external client all requests from two laptops, a desktop, and a phone appeared to be coming from a single source and so got throttled to hell and back. I'm not sure if this was the same issue I was having under AIO, but it's very possible. </p>\n<p>Either way, I'm glad to now be running a stable, updatable, minimal, and <em>correctly configured</em> version of Nextcloud.</p>\n<p>TL;DR: I hated Nextcloud for 3 years because it was painfully slow, not realizing that a quirk of my lab setup was causing all clients to get lumped into a single rate-limit bucket. Correctly identifying my lab's reverse proxy to Nextcloud solved the issue and it's now a solid core to my lab services.</p>",
"date_published": "2024-04-15T15:04:30+00:00",
"authors": [
{
"name": "probablyjustpaul",
"url": "https://www.reddit.com/user/probablyjustpaul"
}
]
},
{
"id": "1c37di7",
"url": "/r/selfhosted/comments/1c37di7/many_sleepless_nights_for_what/",
"external_url": "https://i.imgur.com/CpV1PWt.jpg",
"title": "Many sleepless nights for what?",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c37di7/many_sleepless_nights_for_what/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c37di7/many_sleepless_nights_for_what/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.imgur.com/CpV1PWt.jpg\" />",
"date_published": "2024-04-13T17:35:58+00:00",
"authors": [
{
"name": "glottlechissing",
"url": "https://www.reddit.com/user/glottlechissing"
}
]
},
{
"id": "1c0qp0i",
"url": "/r/selfhosted/comments/1c0qp0i/my_monitoring_dashboard_in_homarr/",
"external_url": "https://i.redd.it/od9ss44lkotc1.png",
"title": "My monitoring dashboard in Homarr",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1c0qp0i/my_monitoring_dashboard_in_homarr/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1c0qp0i/my_monitoring_dashboard_in_homarr/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/od9ss44lkotc1.png\" />",
"date_published": "2024-04-10T17:05:59+00:00",
"authors": [
{
"name": "lljdu77_-bvd",
"url": "https://www.reddit.com/user/lljdu77_-bvd"
}
]
},
{
"id": "1br5py3",
"url": "/r/selfhosted/comments/1br5py3/when_youre_supposed_to_be_studying_but_find/",
"external_url": "https://i.redd.it/e8cffmovkdrc1.gif",
"title": "When you're supposed to be studying but find something cool to self-host",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1br5py3/when_youre_supposed_to_be_studying_but_find/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1br5py3/when_youre_supposed_to_be_studying_but_find/'>Reddit</a></caption><div><br></div><div><br></div><img src=\"https://i.redd.it/e8cffmovkdrc1.gif\" />",
"date_published": "2024-03-30T01:36:04+00:00",
"authors": [
{
"name": "AyaanMAG",
"url": "https://www.reddit.com/user/AyaanMAG"
}
]
},
{
"id": "1bouuv7",
"url": "/r/selfhosted/comments/1bouuv7/warning_vultr_a_major_cloud_provider_is_now/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1bouuv7/warning_vultr_a_major_cloud_provider_is_now/",
"title": "Warning: Vultr (a major cloud provider) is now claiming full perpetual commercial rights over all hosted content",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1bouuv7/warning_vultr_a_major_cloud_provider_is_now/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1bouuv7/warning_vultr_a_major_cloud_provider_is_now/'>Reddit</a></caption><div><br></div><p>If you've got any servers running on Vultr, you may not want to accept the new terms of service.</p>\n<p>Vultr's new agreement requires its customers to fork over rights to our apps/software/data/anything hosted on the Vultr cloud platform. That goes way too far. No other datacenter company requires this. </p>\n<p>Here is the relevant section from Vultr's new TOS:</p>\n<blockquote>\n<p>information, text, opinions, messages, comments, audio visual works, motion pictures, photographs, animation, videos, graphics, sounds, music, software, Apps, and any other content or material that You or your end users submit, upload, post, host, store, or otherwise make available (\u201cMake Available\u201d) on or through the <strong>Services</strong> (collectively, \u201cYour Content,\u201d \u201cContent\u201d or \u201cUser Content\u201d).</p>\n<p>...</p>\n<p>You hereby grant to Vultr a non-exclusive, perpetual, irrevocable, royalty-free, fully paid-up, worldwide license (including the right to sublicense through multiple tiers) to use, reproduce, process, adapt, publicly perform, publicly display, modify, prepare derivative works, publish, transmit and distribute each of your User Content, or any portion thereof, in any form, medium or distribution method now known or hereafter existing, known or developed, and otherwise use and <strong>commercialize the User Content in any way that Vultr deems appropriate, without any further consent, notice and/or compensation to you</strong> or to any third parties, for purposes of providing the Services to you.</p>\n</blockquote>\n<p>This is NOT standard contract language for web services. I don't know of anywhere else that requires this.</p>\n<p>For comparison, Digital Ocean specifically limits this clause to uploads on their website (ie, for community articles, forum posts, etc), not for all hosted services (which would include virtual machines, databases, etc). Additionally, commercialization rights are not granted and it is not perpetual:</p>\n<p>Digital Ocean TOS Excerpt:</p>\n<blockquote>\n<p>We will periodically differentiate between our websites such as digitalocean.com (which we will refer to collectively as the \u201cWebsites\u201d) and all of our other services, such as our cloud infrastructure and other paid services (which we will refer to collectively as the \u201cServices\u201d).</p>\n<p>...</p>\n<p>By providing your User Content to or via the <strong>Websites</strong>, you grant DigitalOcean a worldwide, non-exclusive, royalty-free, fully paid right and license (with the right to sublicense) to host, store, transfer, display, perform, reproduce, modify for the purpose of formatting for display, and distribute your User Content, in whole or in part, in any media formats and through any media channels.</p>\n</blockquote>\n<p>Though requesting limited permissions for the purposes of user uploads on a forum or other community site is fairly standard, it is not reasonable for a service provider partner to require full, irrevocable commercial rights of anything hosted on their services. That'd let Vultr take and monetize customer databases, apps, software, etc. which almost every business and personal user would likely find objectionable. Vultr needs to restrict their request as is done elsewhere in the industry.</p>\n<p>Here is another example -- AWS does not have such broad terms, except for their generative AI product:</p>\n<blockquote>\n<p>50.12.7. PartyRock Apps. \u201cPartyRock App\u201d means any application created or remixed through PartyRock, including any app snapshot and all corresponding source code. By creating or remixing a PartyRock App, you hereby grant: (a) AWS and its affiliates a worldwide, non-exclusive, fully paid-up, royalty-free license to access, reproduce, prepare derivative works based upon, transmit, display, perform and otherwise exploit your PartyRock App in connection with PartyRock; and (b) anyone who accesses your PartyRock App (\u201cPartyRock Users\u201d), a non-exclusive license to access, reproduce, export, use, prepare derivative works based upon, transmit, and otherwise exploit your PartyRock App for any personal purpose. We may reject, remove, or disable your PartyRock App, PartyRock alias, or PartyRock account at any time for any reason with or without notice to you. You are responsible for your PartyRock Apps, PartyRock Data, and use of your PartyRock Apps, including compliance with the Policies as defined in the Agreement and applicable law. Except as provided in this Section 50.12, we obtain no rights under the Agreement to PartyRock Data or PartyRock Apps. Neither AWS, its Affiliates, nor PartyRock Users have any obligations to make any payments to you in connection with your PartyRock Apps. You will defend and indemnify AWS and its Affiliates for any and all damages, liabilities, penalties, fines, costs, and expenses (including reasonable attorneys\u2019 fees) arising out of or in any way related to Your PartyRock Apps or your use of PartyRock. Do not include personally identifying, confidential, or sensitive information in the input that you provide to create or use a PartyRock App.</p>\n</blockquote>\n<p>Note how the license grant doesn't infect the rest of AWS offerings, but is only restricted to their AI product offering \"PartyRock\". </p>\n<p>It's possible Vultr may want the expansive license grant in order to do AI/Machine Learning based on the data they host. Or maybe they could mine database contents to resell PII. Given the (perpetual!) license, there's not really any limit to what they might do. They could even clone someone's app and sell their own rebranded version, and they'd be legally in the clear.</p>\n<p>I sent my objection to Vultr support, but I've just been getting the run around so far. I've been trying to get them to at least let me access my account without agreeing to the new TOS so I can migrate out to another provider, but I'm now on day 5 of being locked out with no end in sight. Migrating all my servers and DNS without being able to login to my account is going to be both a headache and error prone. I feel like they're holding my business hostage and extorting me into accepting a license I would never consent to under duress. I'm self employed and the product I host (currently) on Vultr is what pays my rent, so not being able to manage it is a pretty serious concern for me.</p>\n<p>Anyway, I don't know what Vultr's plans are, but I think it's definitely worth pushing back on this overly expansive license grant they're giving to themselves. If Vultr gets away with it, other cloud providers may try to sneak it into their contracts, too</p>",
"date_published": "2024-03-27T06:07:01+00:00",
"authors": [
{
"name": "WyvernCo",
"url": "https://www.reddit.com/user/WyvernCo"
}
]
},
{
"id": "1bo4ert",
"url": "/r/selfhosted/comments/1bo4ert/peppermint_an_open_source_alternative_to_zendesk/",
"external_url": "https://www.reddit.com/r/selfhosted/comments/1bo4ert/peppermint_an_open_source_alternative_to_zendesk/",
"title": "Peppermint \ud83c\udf75 An open source alternative to zendesk v0.4.6",
"content_html": "<caption>Open: <a href='winstonapp:///r/selfhosted/comments/1bo4ert/peppermint_an_open_source_alternative_to_zendesk/'>Winston</a> | <a href='https://reddit.com/r/selfhosted/comments/1bo4ert/peppermint_an_open_source_alternative_to_zendesk/'>Reddit</a></caption><div><br></div><p>Wow its been a while, first marketing post in over 2 years so bare with me. Now on version 0.4.6 its come a long way with several redesigns across the full stack and a smidge more experience than previously the project has never been in a better state with a lot of work still left to do. </p>\n<p><a href=\"https://preview.redd.it/hbcqwyr9knqc1.png?width=5088&format=png&auto=webp&s=86140be76d6b3ba47f18304b27ae3fe164785501\">Latest Version of UI</a></p>\n<p>Improvements to note: <br />\n- IMAP mailbox listening & smtp based outbound emails <br />\n- SSO provider via Github (more to come)<br />\n- keyboard shortcuts <br />\n- Custom Email Templates for outbound emails<br />\n- Client Portal with both guest ticket creation and user sign up options available<br />\n- Moved to a comment style rather than a block of work completed<br />\n- Design overhaul that looks miles cleaner than previous versions </p>\n<p>Features in the pipeline: <br />\n- Cron Job Support & Scheduled Ticket Creation support<br />\n- Time based reporting on tickets for clients<br />\n- More SSO auth providers <br />\n- Internal Chat + Live Chat functionality <br />\n- 2FA support<br />\n- Themes<br />\n- Status Monitoring for websites and services<br />\n- Knowledge Base<br />\n- Improved Notifications<br />\n- Improvements to various logging related to the backend<br />\n- Reporting and analytics functionality </p>\n<p>We now have over 180 members in the discord if you want to join to stay up to date first with all future updates as generally all thoughts are discussed firstly over there.<br />\nIf you would like to join you can do <a href=\"https://discord.gg/zHQrQpPK9T\">here</a> </p>\n<p>We are open source first so please check out the <a href=\"https://github.com/Peppermint-Lab/peppermint\">github</a> and id be grateful for a \u2b50\ufe0f<br />\nIf you ever have any issues just get in touch via reddit, discord or <a href=\"https://twitter.com/potts_dev\">twitter</a> </p>\n<p>​</p>",
"date_published": "2024-03-26T10:19:46+00:00",
"authors": [
{
"name": "japottsit",
"url": "https://www.reddit.com/user/japottsit"