this post was submitted on 03 Jun 2024
83 points (100.0% liked)

Selfhosted

40132 readers
546 users here now

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.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I have several years of Linux experience and I know how to fix my own problems, and I have experience self-hosting using Docker and Docker Compose, but I really feel that I don't know how to self-host and that I just copy and paste commands without understanding it, I would really like to learn how to self-host by myself but I don't know how I can start or with what resources for newbies I can start with.

I am interested in self-hosting several services, but the one I am currently most interested in is changedetection.io, as there are multiple such services but they all require a membership fee, and I prefer to self-host on my own.

you are viewing a single comment's thread
view the rest of the comments
[–] Voroxpete@sh.itjust.works 9 points 5 months ago

Get to grips with Docker. OCI containers are the standard method of self hosting basically everything now, so once you're comfortable with Docker and compose files, literally anything you could want to host is available as a drop in component for your system.

An excellent way of playing around with Docker is to install Dockge. It's a web UI with some really helpful features. First, it can convert Docker Run commands into compose files for you (once you start to play around with this it'll be clear why that matters), and second, its very good at pointing out where and how you've made errors in your compose files. But most importantly, unlike Portainer (the most popular Docker UI) it works with the Docker command line rather than trying to replace it. With Dockge you know exactly where all of your files are and if any part of your setup breaks you can repair it very easily. It also doesn't have Portainer's problem of flashing error messages on the screen for 0.3 seconds then whisking them away. It exposes the entire Docker terminal output so your debugging process is much, much easier.

You'll also want to learn about reverse proxies (I reccomend Caddy for its unbelievably simple config file; an entire site is three lines). These are really important for serving multiple different services from one source.

For anything that you can't run in Docker, VMs are an acceptable solution, and LXC containers are a better solution, but one that requires a little more work to get to grips with (fun fact, LXC has its own web UI, which is fantastic, but almost nobody seems to even know it exists). Since you're already familiar with Linux, you may want to ignore the suggestion to use Proxmox and just set up a server with your preferred flavour and go from there. All of this can be done with any modern Linux distro, so you might as well work in an environment you're comfortable in.