Dedicated home server - what to put on it?

Finally got a dedicated machine (2010 MBAir if anyone cares) hooked up at home and I'm installing things to test them out and keep my hand in. Got a list of things I'd like it to do - any other useful services I can run on here?

By useful I mean things that would not only make my day-to-day life more fun but also practice for services used in the real world. My list so far:

  • DHCP server
  • DNS server
  • Torrent server
  • Nagios monitoring
  • LDAP auth
  • Samba server
  • FTP server
  • NFS server
  • HTTP server (apache? nginx? something else?)
  • HTTP proxy (even worth it these days? I last used squid in like 2003...)
  • postgres / MySQL
  • ownCloud or something similar
  • Radius
  • Jenkins, Git repo

At one time I might have considered some sort of mail server as well but that's pretty much killed off, right?

Posted Dec 20, 2020, 8:17 PM UTC

6066
zerocoldx911•

Pihole on docker

29
knoid•

Seconding Pihole. Couple of gotchas - make sure to set MAXDBDAYS=nn in /etc/pihole/pihole-FTL.conf and also go into the web admin panel and flush logs every so often, or it'll use up all your disk space for logging and the query DB.

7
cyvaquero•

Not much of a gotcha. I’ve been running pihole for 5+ years on 8GB SD cards and have never even came close to filling up that limited space - with the usual heavy hitters: multiple Amazon Echos, Adobe, and two teens on their iPhones. Ran years between rebuilds (basically only when replacing with newer Pis).

6
knoid•

Interesting. Running mine on a Debian box and ran into both of the above issues within 8 months of the initial install. Was wondering why my internet was being flaky; turned out pihole had filled my /var partition with it's query db.

1
cyvaquero•

Curious, are you LVM’ed? Maybe some chatty devices? I thought Amazon and Adobe were pretty bad, but there could be worse.

1
B2Dirty•

Plex for media streaming would be a good addition or some other dlna service.

12
Arechandoro•

Jellyfin is a better option. Their android app also works pretty well.

8
graystonOP•

I'm just using minidlna to host my music, while Kodi on my telly connects to the video store via Samba and does all the heavy lifting. Had UMS installed for all of a day but I didn't like the way it just sat there chewing up a quarter of my ram and doing nothing useful.

3
Bladelink•

Check out sonarr/radar/lidarr. They each pair with an indexer like Jackett and a download agent like transmission or deluge.

I'd also recommend Proxmox as a hypervisor platform. It's super dope, supports clustering and clustered storage with Ceph. I have some VMs that run kubernetes and I run everything in containers.

3
andreaswpv•

And then use the free android up to stream

1
Kalc_DK•
12
Macros42•
10
Kalc_DK•

Nice catch

2
jaymef•

Prometheus/grafana

10
1esproc•

Alternatively Telegraf/Influxdb instead of Prometheus if you want your metrics to be accurate when you look at them

-2†
SuperQue•

That is a hilariously wrong conclusion to draw from that issue. Even the original poster closed the issue realizing they misunderstood the output.

Yes, it's a leaky abstraction, but it's not inaccurate.

2
1esproc•

Did you just stop reading at that point? Did you not see the ticket mentioned a year later: https://github.com/prometheus/prometheus/issues/3746

If you have spiky data in Prometheus, you probably will not see it

-2
SuperQue•

I'm a Prometheus developer, I'm well aware of how it works and how to use it.

3
Samantha_Cruz•

What you need on the server really depends on what you are trying to do.

for instance I run a 'fake' mail server on mine that I use for testing (since several of the apps I am testing send out emails for approvals/workflows) - I use fakesmtp which basically just accepts every incoming smtp connection on port 25 and pipes the messages directly to individual files on the server, - it doesn't forward them anywhere and I can basically send to 'any' email address; the server creates a subfolder for each of the incoming addresses and simply copies the file to that folder.

It is ONLY for testing but otherwise looks like any other smtp server but it allows me to simulate huge batch jobs that send out thousands of emails to thousands of different addresses and I can then go and review what got created to make sure the jobs did exactly what we were expecting it to do without actually forwarding any emails to real people.

I also find it very useful to have nmap, nessus, ntp, postman, docker, kubernetes, tcpdump and snort available but basically it really depends on what you need to get your work done; Not everyone needs the same things.

8
lokal•

Quick list of the top of my head. I still run my own mailserver; hard to let it go.

​

Torrent : Radarr/Sonarr/Jackett/Transmission | plex/minidlna/kodi

Nagios: Librenms, Nmon, netdata, cacti, smokeping

Proxy pretty much dead with https

Postgres, Mariadb

Owncloud/Synchthing

postfix/spamassasin/clamav/amavis/dkim

letsencrypt/ufw/iptables/psad/fail2ban

Edit to add webmin &/or ispconfig

8
poppopretn•
  • Bitwarden (password vault)
  • Confluence (documentation)
  • Splunk (SIEM)
  • Zabbix monitoring
  • Opencanary (honeypot)
  • OSSEC (host-based ids)
  • Cuckoo (malware sandbox)
6
SadFaceSmith•

FreeIPA can do DNS, LDAP(and kerberos), and can integrate with all sorts of stuffs.

5
ztherion•

k3s, with prometheus and grafana monitoring. Overkill? Yes, but fun and helps qualify you for high paying jobs in observability and devops roles.

4
SuperQue•

Knowing Kubernetes and Prometheus can get you a job at reddit.

3
Finnegan_Parvi•

Yeah, but then you have to work with k8s.

3
Drummerboyj•

What’s k3s?

1
SuperQue•

Kubernetes cluster, but simplified down to run on a single box.

7
Drummerboyj•

I have so much to learn lol

2
SuperQue•
11
lastchansen•

I wanted to learn something new, so I installed Proxmox on an old HP desktop and have so far used it for:

  • VMs
  • pFsense
  • Pi-hole
  • LXCs
  • Docker containers
  • As a local repository for emacs, arch and some other stuff

It easy to learn something new when there is so much to do. I would also like to suggest you document what you do and make sure to test. This is an easy way to learn remember stuff better since it's easy to get something working once but twice might be harder if you don't remember or was just clicking until it worked. So, being able to explain it in documentation goes a long way :)

4
[deleted]•

[removed]

3
psxuaw•

What benefit it brings now that almost every site runs on TLS (https://) traffic?

6
[deleted]•

[removed]

2
Jeettek•

Its literally a gateway, router in your network with access control, caching, load balancing, traffic limitation, logging, header sniffing, spoofing, authentication for the HTTP protocol. If you are in your own trusted network you can just setup man in the middle for https traffic.

2
Krickler•

For what?

1
[deleted]•

[removed]

1
researcher7-l500•

Same here.
Unless you want to forward ports through ssh tunnels.

1
[deleted]•

[deleted]

1
beowuff•

My current home server runs: Unbound DNS, NTP server, Unifi controller, Transmission server, Plex, 4 Minecraft servers

I’m thinking of adding: Gitlab, Prometheus, Grafana, Logging server

Note, these run in jails on FreeBSD, but there’s no reason you can’t use docker or some other form of container.

3
SuperQue•

Next, try CoreDNS instead of Unbound.

1
raptorjesus69•

Install a hypervisor like proxmox on the server and put each service in its own container or vm. For monitoring id look at prometheus and grafana or telegraf and influxdb2. I would use nextcloud for a file server it's a fork of owncloud that has a larger community and everything is opensource instead of just the core. Running a proxy isn't worth it since most traffic is encrypted and stripping ssl sucks. For ldap dns and dchp use a widows dc if you have mostly windows cdevices and freeipa if you have mostly linux devices

3
duffil•

Theres a ton of good info here. All I'm going to say is that you might benefit by running virtually in proxmox. Build your test shit in a vm because its faster to spin up and you can snapshot for restores and such.

2
user_n0mad•

My home servers primary job is a music server and a snapcast server. Music server pushes the audio into snapcast which is then streamed to all my connected snapcast clients in the house.

It also acts as a print server as I have a non-networked laser printer which works perfectly fine but just has no network capabilities. It's hooked to the printer server via USB and I can now print from any system in the house.

I run my own router which handles DHCP and DNS.

2
Macros42•

Proxmox, ESX or Docker.

Then put everything in it's own VM or container.

For DHCP/DNS I recommend pihole.

2
EmberQuill•

Definitely depends on what you want to do and where your interests lie. Currently, I'm running my own server that has or will eventually have

  • Bitwarden
  • FreshRSS
  • ZNC
  • Jellyfin
  • Radarr, Sonarr, Lidarr, Jackett, etc.

I highly recommend running everything you can in docker containers.

2
[deleted]•

I ran a mumble server on a Raspberry pi for a few years, it was fairly easy to setup and it was very useful.

2
stufforstuff•

I like to put Hello Kitty stickers on my Home Servers (especially when I try to use a laptop that's not designed for 24/7 operation as my server hardware).

2