I think there's a misunderstanding.
In the docker-compose.yml, you specify services, and these services can use the official container images.
The only thing the docker-compose actually does is define your services so you don't have to specify them each time starting a container.
I selfhost codimd, vaultwarden, kuma, immich, home assistant, trilium, hugo, gotify, wakapi and umami.
I have one VPS and one custom built NAS at home.
All networking gear is Unifi. UDM Pro, USW Aggregation, USW Pro 48 PoE, U6 Pro, U6 In-Wall, 3 USW Flex Minis. 10G SFP+ connections between UDM Pro and switches.
OpenHab (Openhabian actually, so some additional services like Zigbee2MQTT or Grafana)
HP EliteDesk 800 G2 i5-6500T, 8GiB RAM - this one is currently the mainstay of my lab, running containers with docker-compose
Nginx as reverse proxy (+ fail2ban, letsencrypt)
Paperless-ngx (+ Redis, Tika, Gotenberg)
Jellyfin
Minecraft server (+ Mapcrafter)
ddclient
Heimdall
Dell OptiPlex 7060 Micro i7-8700T 32GiB RAM
I've gotten this one fairly recently. A real bargain - costed as much as the CPU alone and was in pristine condition. I will be migrating the workload from EliteDesk to this one. I decided to try ProxMox this time though, so I need to learn a bit first. Also perhaps add a second SSD
I have a rented server with 8 Xeon E3-1246 and 64GB at Hetzner where I host:
Vaultwarden
Gitlab (git repo, container registry, static blog (pages with Hugo))
Drawio (Diagrams)
Kroki (for Gitlab)
Gitlab runner
FreshRSS
Nextcloud
Redis
Headscale (Tailscale server)
Keycloak
MariaDB
PostgreSQL
Plex
Privacybin
Wallabag
Hedgedoc
It's all behind a Traefik instance handling Let's Encrypt and using the Docker socket to route traffic based on labels in docker-compose.yml. Behind these I also run k3s and from time to time some VMs. I also have a 1TB storage pod at Hetzner where I use restic to back everything up from this instance as well as from my home system and laptops.
I have a used Lenovo Thinkcentre mini with an i3-7100T and 16gb RAM. I have Ubuntu server LTS installed on it and I run everything in docker containers.
I host:
jellyfin server for my friends and family
qbittorrent to download for the JF server(behind a VPN)
I have a MediaWiki instance on my laptop (I've found the features of all other wikis/mindmaps/knowledge databases decisively insufficient after having a taste of MW templates, Semantic MediaWiki and Scribunto).
Also some smaller things like pihole-standalone, Jellyfin and dictd.
Yes, I still run my own email server. It is not for the faint of heart, but once it's configured and your IP reputation is clean, it's mostly smooth sailing. I have not had any deliverability problems to date, initial setup/learning period notwithstanding.
If you're not scared away yet, here are some specific challenges you'll face:
SMTP ports are typically blocked by many providers as a spam prevention measure. Hosting on a residential connection is often a complete non-starter and is becoming more difficult on business class connections as well (at least in the US, anyway).
If you plan to host in a VPS, good luck getting a clean IPv4 address. Most are on one or more public blacklists and likely several company-specific ones (cough Microsoft cough). I spent about 2 weeks getting my new VPS's IP reputation cleaned up before I migrated from the old VPS.
Uptime: You need to have a reliable hosting solution with minimal power/server/network downtime.
Learning Curve: Email is not just one technology; it's several that work together. So in a very basic email server, you will have Postfix as your MTA, Dovecot as your MDA, some kind of spam detection and filtering (e.g. SpamAssassin), some kind of antivirus to scan messages/attachments (e.g. Clamd), message signing (DKIM), user administration/management, webmail, etc. You'll need to get all of these configured and operating in harmony.
Spam prevention standards: You'll need to know how to work with DNS and create/manage all of the appropriate records on your domain (MX, SPF, DMARC, DKIM records, etc). All of these are pretty much required in 2023 in order for messages from your server to reach your recipient.
Keeping your IP reputation clean: This is an ongoing challenge if you host for a lot of people. It can only take one or two compromised accounts to send a LOT of spam and land your IP/IP block on a blacklist.
Keeping up with new standards: When I set my mail server up, DMARC and DKIM weren't required by most recipient servers. Around 2016, I had to bolt on OpenDKIM to my email stack otherwise my messages ended up in the recipient's spam folder.
-Contingency Plan: One day you may just wake up and decide it's too much to keep managing your own email server. I'm not there yet, but I've already got a plan in place to let a bigger player take over when the time comes.
Using as a git repo server, package repository, and for CI/CD automation. Is critical infrastructure in my lab. Could also write an entire post on this one.
A hacky way of presenting pages saved with the singlefile browser extension. Not exactly happy with the solution, but for my ocasional use it does work.
The old standby, its been reliable as a webserver.
These services are the result of years of development and administrating my lab and while there is still some cruft, it's mostly services that I think have real utility.
As far as hardware:
Running pfsense on a toughbook laptop as a router-firewall.
A SuperMicro 24 bay disk-shelf with Proxmox and ZFS for NAS duties and a couple services.
Lenovo Tiny boxes with a Proxmox cluster for the majority of my local services.
Dell managed switch
A few Raspberry-pi's with Raspbian for various things.
Selfhosted
Oldest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.