• 1 Post
  • 22 Comments
Joined 10 months ago
cake
Cake day: December 28th, 2023

help-circle


  • Hi there ! Sorry my English is not that good, but I’m doing the best I can !

    Actually, I do not have a VPS. I use an old spare laptop as server which handles everything.

    I have Wireguard barebone installed with a a second external wireguard interface and some iptables to send all traffic to ProtonVPN.

    All my containers,on the same laptop, are directly reachable via this configuration and HTTPS is handle by Treafik with my self-signed local certificates (root CA with intermediate CA).

    Eg: From my mobile over WiFi or 4G I can access all my containers where ever I’m. My endpoint in my Wireguard’s confirguration (on my phone) being my home’s public IP.

    I hope I answered your question? If not I’m willing to give you a diagram of my setup, this will probably clear up the confusion/question? And will probably be way more explicit than my broken English 😄.


  • Probably what you’re looking for is the following setup:

    docker <-> services <-> reverse proxy <-> VPN <-> Internet

    1. Your next step is to chose a reverse proxy to handle your requests and serve your services on port 80 and port 443. There are several choice and you have to somehow stick with it, because each reverse proxy has it’s up and downsides and learning curve:
    • Treafik (that’s the one I use and is specifically made for containers)
    • Caddy (Never used it but heard only good things about it)
    • Nginx (this one is a beast to tame, however I heard it’s easier to setup with nginx proxy manager)

    Those are the 3 big players I’m aware of.

    1. You reverse proxy ready and functional you need something to access them outside your LAN. There are also several ways to achieve the same goal. The one I use and are happy with is to configure Wireguard on your server and only open the port needed to connect to it.

    This is also a big part and probably this is the route of a tinkerer and have lot of personal time to spare… There are easier AIO routes that will probably save you time and energy. (Others will point you to the right direction)

    1. Bonus tip

    You will rapidly understand the necessity of DNS. Reaching out to your services by IP:PORT will annoy you over time, even if you save them as bookmarks. Also if you don’t assign a static IP to your containers they will change every time you restart them or reboot your server. Not very practical !!

    Here you have 2 choices:

    • personal mini certificate authority (totally free and personal local domains but harder to setup)
    • cheap domain name with automatic certificate generation.

    I personally chose the tinkerer route and learning process. But I have time to spare and while I prefer this route… It’s very time consuming and involves a lot of web crawling and books reading.

    If you are interested I can recommend you a good ebook on how to setup your own mini-CA :).


    Hope it helps, you are halfway through !



  • Is your government opposing? → Great, but take a closer look at the reasoning: Some governments like Germany e.g. only object to the scanning of encrypted communications, but are fine with the indiscriminate scanning of other private and public communication, with the end of anonymous communication by requiring age verification, or with introducing a minimum age for “risky” communication apps.


  • The icon created by meta gives me shivers…

    I know why you did it so fast and why you choose ⁂, it’s already present and works as expected and probably to overcome meta’s implication into the fediverse…

    However, every symbol didn’t exist at first and became popular on it’s own because it defended something people found important and fought for (Like the peace symbol)!

    Maybe create our own symbol and let it make enough noise so it becomes it’s own symbol?

    Sorry if it isn’t clear what I mean by that :/








  • Yes :) Thank your very much for sharing your knowledge !! It’s just difficult to understand everything with all the new related vocabulary I never heard of. But I think I get the general gist !

    Just one last question, it’s something that’s on my mind for a while ! I know it’s a hot potato in the programming world and has been asked several times over here in the community, but I’m really interested on your opinion on that topic:

    C, C++ (C#? I dunno the difference between the 3, so pardon me for my ignorance) are they slowly dying out and being replaced by something like Rust (or other low level language?)? Because C and derivatives are prevalent everywhere and probably everything , and If I get it right, it’s the language, that programs other languages. So shifting to something new takes time, resources and probably is “risky”?

    I’m asking that question because, recently read about Linux slowly merging some rust coding in the Linux kernel.


  • Thanks for the ELI16 !!!

    Also Go is a nice balance between low and high level, one of such examples is the use of pointers.

    Yeah, I read/heard about pointers being on of the most hated/complicated stuff in C for beginners, but that’s also C’s advantage over other languages, isn’t it? You have more control on how memory is used ? Or is that considered “bad practice”, prone to error, to today’s standards? (I hope it make sense and that you understand what I’m trying to express :/). And that’s the reason way something like Go and Rust? are becoming more prevalent.

    Like e.g. opening more and more browser tabs, which is also partly why in the past you’ve often had to restart your PC every once in a while to free some trashed memory.

    Yeah I remember that time, looking for THE best browser that wasn’t eating to much memory (settle with Firefox). I thought killing the process in windows was enough?

    CockroachDB

    xD


  • Thanks for your insights !

    The reason lots of networking applications use it is because networking requires a lot of this multitasking and demands efficiency.

    So that’s one reason why traefik devs chose golang ! Good to know :)

    Its simple enough for anyone to learn (yes you!)

    Haha, If I had enough time I would probably chose Go and Rust. But hosting, networking and linux stuff are already taking way to much of it ! IMO if you haven’t learned any programming language early, it’s going to be a nightmare to follow up. Also, I’m already struggling with English xD !