• 3 Posts
  • 8 Comments
Joined 1Y ago
cake
Cake day: Jun 15, 2023

help-circle
rss
Docker & Databases. Stack or Individual?
So I'm in the process of (re-) setting up my homelab and unsure about how to handle databases. Many images require a database, which the docker-compose usually provides inside the stack. Now my question, shall I have 1 database container which is accessed by all containers? Or shall I have a separate container for each service? For critical services, which shall have as few dependencies as possible I'm already using sqlite or a similar solution. Also on a sidenote: I have two docker hosts, can I let the containers of 1 hypervisors use the same internal docker network? TIA!
fedilink

Docker & Databases. Stack or Individual?
So I'm in the process of (re-) setting up my homelab and unsure about how to handle databases. Many images require a database, which the docker-compose usually provides inside the stack. Now my question, shall I have 1 database container which is accessed by all containers? Or shall I have a separate container for each service? For critical services, which shall have as few dependencies as possible I'm already using sqlite or a similar solution. Also on a sidenote: I have two docker hosts, can I let the containers of 1 hypervisors use the same internal docker network? TIA!
fedilink

Unfortunately not at the moment, as all is kinda fiddled and setup manually, but I’m redoing my home lab in a couple of weeks. Send me a message and I’ll send you the docker image or script!

But basically I did the following:

  • enable ipv4 forwarding
  • configure and start VPN tunnel
  • set the default route to the tunnel
  • set the gw for reaching the remote vpn server to the local gw
  • sets routes for the local network to the local gw

If your vpn goes down, the default route shall still point to the remote gw, but as it isn’t there you also have a kill switch. Voila!

I am looking into gluetun but haven’t tried it yet.

Edit: this doesn’t protect you from someone snooping the traffic inside your local net, but protects it starting from the point where it leaves the local vpngw. The traffic is unencrypted between that and your client.


What I’m doing is using a dedicated VPN Gateway container. The instances running delicate services have a static default route to the GW-container.

This is an extra step, but allows me add easily route other services or clients or even whole networks through my VPN without additional setup or specialized containers bundling both.

Wanna use it on the phone? Change the gateway address. Wanna use it from my Linux machine? Add a static default route. Etc…

Works flawlessly!


One of my considerations is the privacy side… VPN or self hosted solution seems to be the waay better choice in that case.


Haha! Explaining for dummies, I like it.


Thank you for the detailed explanation. I am running Tailscale as a temporary solution to access some services, but I dislike that you have to set firewall rules basically twice (once in your local network and once in Tailscale). I suppose it would be similar for CF?


NetworkChuck does videos for beginners, but sometimes that’s just what an experienced user need ^^ thanks for sharing! Watching the video right now


One of the mysteries I am facing ^^ selfhost headscale? Tailscale? VPN? CF?

Too many options :D


ELI5 Cloudflare Tunnel
So everyone is talking about cloudflare tunnels and I decided to give it a shot. However, I find the learning curve quite hard and would really appreciate a short introduction into how they work and how do I set them up… In my current infrastructure I am running a reverse proxy with SSL and Authentik, but nothing is exposed outside. I access my network via a VPN but would like to try out and consider CF. Might be easier for the family. How does authentication work? Is it really a secure way to expose internal services? Thanks!
fedilink

Try Resilio Sync. Running it for 5+ years now and did not have a single synchronization issue. Syncing around 5 devices flawlessly, instantly and error free (not sponsored)