• 0 Posts
  • 12 Comments
Joined 3 years ago
cake
Cake day: June 13th, 2023

help-circle





  • There’s a large group of folks here that swear by renting a VPS. A common argument is that when you fully self host and expose anything to the internet (incoming connections), you’ve always got some security risk you might not know exists.

    A VPS offloads a lot of the low level security concerns to someone else (it’s the whole cloud sales pitch) and if someone breaks in, there’s little for them to steal (assuming you’re not putting anything personal and sensitive on the VPS).

    The nice thing is that you can start with a small and cheap VPS and set things up and decide if you even want to self host, or to what extent. Then you have data to make a decision as to whether you need to upgrade to a better VPS, or port your setup to a local server (which you can now buy with a good idea of what sort of specs it should have).

    On the flip side, you could also self host on whatever computer you have laying around (leave the laptop open) and play with some services there. If you decide you want to open it to the internet, you could just as easily port your local playground to a VPS and keep going.

    I don’t think there’s anything in the self hosting world that really paints you into a corner.




  • I run everything in docker. My docker volumes are all subdirectories under /media, which is the root of my NAS. If an app only needs something specific, docker only mounts, eg /media/movies. If the app needs many subdirectories (like backups), it gets the full /media mount.

    All the docker data/configs are under /docker/volumes (eg /docker/volumes/jellyfin), and every container is configured with compose in /docker/docker-compose.yml.

    The biggest hurdle for me was creating a sane docker-compose file that defines where everything lives. Once that is standardized, adding and maintaining your apps becomes easy.

    If you’re very new to this, even a dumb LLM like ChatGPT can be very helpful to explain what’s inconsistent, redundant, or incorrect with your config. If you are lost I would strongly suggest this as a way to get oriented. But DO NOT copy and paste anything into the LLM containing passwords, tokens, keys, etc. if you accident do, change those keys before finishing up your project.

    With docker there’s no duplication- you have one copy of everything you need and you just point each container at the same data. This makes it trivial to keep file consistent across your apps and doesn’t waste space.