I've self-hosted more or less everything from the get-go back when I was working at a telco which provided me with a 4 Mb/s fixed line back in 1996. One of the first things I did was change to a self-hosted mail server with my own domain, the rest quickly followed. Just to name a few, used daily:
- Proxmox to run all mentioned services
- Software router to bind them all together (OpenWRT in a container)
- Database services (Postgresql, Mysql, Redis) used for many of the mentioned services
- mail services (Exim, Dovecot, Spamassassin, greylistd, dovecot-managesieve)
- web-related things (first Apache, then lighttpd, then nginx) running:
- "Cloud" (first Owncloud, then Nextcloud) with functional equivalents of e.g. Google Docs (Nextcloud Office), Google Reader (Nextcloud News), Google Meet (Nextcloud Talk, Jitsi Meet), Gmail (Rainloop app in Nextcloud, Roundcube), Google Maps (OSM app in Nextcloud), Calendar etc.
- Wiki (first Twiki, then Mediawiki, now Bookstack)
- Media (mpd, Airsonic, Jellyfin, Peertube, Pixelfed)
- version control (first CVS, then Subversion, then Gogs, then Gitea)
- Search (Searx and Recoll)
- big-tech proxies (Invidious, Nitter, libreddit, Spodcast, searx (see Search))
- Video surveillance (Zoneminder)
- Remote application/desktop service (X2go, NoVNC, now experimenting with Kasm)
- "Chat" services (first Prosody, then ejabberd, then back to Prosody)
- Timelimit service + app on my daughter's phone to keep her screen time in check, I can remotely give her more time when required
- a "stable" and "development" build server (Debian running in containers)
- ...and a lot more
Basic services are divided over a few containers - base, mail, auth. Most services run on a single container - serve. Some get their own container because they are only started irregularly (bookcook, the bookkeeping service) or they should be separated from the rest - p2p, session (remote application/desktop services). I tend to shun docker, preferring to tailor services to my own needs. Currently the only services using docker are Kasm Workspaces [1] and some linuxserver.io instances which I'm experimenting with.
[1] ...with the database (postgresql) and cache (redis) services being redirected to the 'base' container which runs all database services
- Proxmox to run all mentioned services
- Software router to bind them all together (OpenWRT in a container)
- Database services (Postgresql, Mysql, Redis) used for many of the mentioned services
- Backup services (rsnapshot, custom backup scripts)
- mail services (Exim, Dovecot, Spamassassin, greylistd, dovecot-managesieve)
- web-related things (first Apache, then lighttpd, then nginx) running:
- "Cloud" (first Owncloud, then Nextcloud) with functional equivalents of e.g. Google Docs (Nextcloud Office), Google Reader (Nextcloud News), Google Meet (Nextcloud Talk, Jitsi Meet), Gmail (Rainloop app in Nextcloud, Roundcube), Google Maps (OSM app in Nextcloud), Calendar etc.
- Wiki (first Twiki, then Mediawiki, now Bookstack)
- Media (mpd, Airsonic, Jellyfin, Peertube, Pixelfed)
- version control (first CVS, then Subversion, then Gogs, then Gitea)
- Search (Searx and Recoll)
- big-tech proxies (Invidious, Nitter, libreddit, Spodcast, searx (see Search))
- Video surveillance (Zoneminder)
- Remote application/desktop service (X2go, NoVNC, now experimenting with Kasm)
- P2P services (Transmission, IPFS, MLDonkey (when needed))
- "Chat" services (first Prosody, then ejabberd, then back to Prosody)
- Timelimit service + app on my daughter's phone to keep her screen time in check, I can remotely give her more time when required
- a "stable" and "development" build server (Debian running in containers)
- ...and a lot more
Basic services are divided over a few containers - base, mail, auth. Most services run on a single container - serve. Some get their own container because they are only started irregularly (bookcook, the bookkeeping service) or they should be separated from the rest - p2p, session (remote application/desktop services). I tend to shun docker, preferring to tailor services to my own needs. Currently the only services using docker are Kasm Workspaces [1] and some linuxserver.io instances which I'm experimenting with.
[1] ...with the database (postgresql) and cache (redis) services being redirected to the 'base' container which runs all database services