• 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.







  • On the flip side, if you’re vibe coding an app you should seriously consider whether it’s something you want to open source or make available publicly. There’s a social contract that comes with that.

    I have 2 self hosted slop apps I build and maintain myself. I think people would genuinely get great use out of them.

    …but then I’m inviting critiques and feature requests and am roped into supporting them so it’s not just a big pile of shit that wastes everyone’s time. And I don’t want to spend my limited free time making common sense improvements to improve it for others. I want to write a lazy Claude prompt with insufficient context, get it barely doing what I need, and then spend the rest of my time eating crayons and similar pastimes.