Hello, I’ve recently discovered self hosting and I really want to get into it. I’m not going to fully deep dive now, but I at least want to know the basics before I start my own journey. So today I came to ask if anybody has a roadmap or recommends a path for me to get into self hosting.
As far as Linux goes, I’m currently on Mint but only know how to update and switch/list directories. I do not know docker but understand the basics of it. This also goes for tailscale.
I know what a NAS is and how it works and the different Raids and when to use which one. I know what I want to self host but I am not sure if I want to use docker or proxmox. I’m also don’t understand the proxmox and how it works. Any information or tutorial would be highly appreciated. Thanks you
Late arrival but in case it helps:
I’m 100% self taught. I’d never used Linux before I got my first Pi & struggled to get Nextcloudpi working, which I did eventually. But support came to an end so maintenance was going to become an issue so I had to learn.
I found this excellent video on how to read Docker requirements & apply them step by step into Portainer. He explains slowly & methodically exactly what he is doing & why.
Portainer is a method of handling Docker stacks/containers via a web UI. Both Docker & Portainer are simple to install.
It’s easier to use Docker Compose files and/or .env (environment variable) files (both are even simpler to deploy through Portainer) but this video taught me what was going on & gave me confidence to have a go. What attracted me to Docker is you can easily remove stacks/containers if/when you make a mess rather than wiping the drive & start again, which is how I went about things initially.
This gave me the tools to set up Nginx Proxy Manager & I never looked back. Highly recommend a robust backup solution as stuff will inevitably go wrong along the way (I see Borg, Restic mentioned often, I went for Kopia).
I can’t recommend highly enough making detailed notes along the way. I rely on my Joplin notes all the time.
One more tip. Once you start using Docker, dont fall into the trap of using the “latest” tag. If you know the version number its far easier to re-deploy if an update is bad.
Enjoy your new time consuming, teeth clenching, frustrating …and rewarding hobby 👍
https://perfectmediaserver.com/ This is the guide that really gave me the confidence to take ownership of my self hosting. My setup now is simple (I use ucore from the universal blue project as a rock solid base) and I use small tools that I can understand (snapraid, mergerfs, borgmatic) to make things robust as well as podman and quadlets (docker also works great) to enable easily hosting basically anything I want through containers.
I don’t know how up to date this is, because I haven’t used it in a while but it was helpful to me when I was first getting started: https://github.com/mikeroyal/Self-Hosting-Guide#getting-started-with-self-hosting
I ended up going with proxmox because you get all the features of proxmox, and you can use docker on it. So, best of both worlds. For some youtube resources, check out:
- Jim’s Garage:
- Learn Linux TV:
There is also https://landchad.net/ which has some useful info and tutorials.
Lastly, these final two aren’t guides per se, but have lots of useful resources:
You are amazing for this thank you.
Dude, you rule
Check out YUNOhost, if you haven’t already. It’s designed to simplify self-hosting for beginners.
CasaOS in a similar vein. Casa is just an app that can be installed on Linux though.
When I started, I wanted something to obfuscate all the Dockishness because I didn’t get it and just wanted to get going. It helped me get familiar with common Docker things and while I’m very far from being any sort of expert, I’m comfortable enough in a compose file now.
I still have Casa running, though I rely on it less and less. At some point maybe I’ll move everything out.
I’m not sure which guides to recommend, but in case it helps narrow down your search, you could share more about your situation:
-
Do you have any existing hardware or are you planning to buy? If so, what is the budget for the equipment and where in the world are you approximately?
-
What did you want to self host? Some services would benefit from a certain type of setup. For example, if you’re serving lots of media, if you need redundancy and uptime, if you’re running AI models or something that needs a GPU
General tips:
- take lots of notes on your process. This will help you iteratively improve your setup. If it all falls apart, it will be easier to quickly get going again since you know what options you picked at each step.
- Make more posts here when you get stuck on something :)
For Linux, a lot of people go with Ubuntu server because there are a lot of existing guides for it. You don’t need much Linux knowledge to start self hosting since you can learn by doing over time. Some concepts to explore before getting started might be cron, the Linux file system, and user permissions.
For Docker, you should be fine if you know the basics. I’d recommend using Docker Compose since it’s easier to understand what’s happening when its written out in a nice yaml file. Install Docker and Docker Compose on the server, and then install something like DockGE to manage the compose files. When you want to run a service, copy the Docker compose file and then swap the port to what port you want to use, and the volume to the location you tend to use.
For a very basic setup, I’d find a video guide for
- installing Ubuntu server on the machine
- basic setup of the Ubuntu server (file permissions, docker, docker compose)
-
Get a domain, most tutorials use Cloudflare, so get that and switch if you want only after learning a bit more.
I recommend this setup to easily host anything you could ever want, access it remotely without exposing your network. Use Proxmox Helper Scripts.
Proxmox VE (host) ├── VM #1: Tailscale Exit Node └── VM #2: VM └── Docker ├── Traefik ├── Coolify └── Zitadel
this is my own experience.
Hi, i just started mine recently as well, currently i only host stablediffusion. Will explore more what i can do in near future