this post was submitted on 02 Aug 2026
46 points (94.2% liked)

Selfhosted

61265 readers
215 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

I don‘t know if this is the right place to ask, but is this an OK build for a first start in selfhosting? Is there anything obvious I could improve? I‘d mainly run Nextcloud, Immich, some Docker containers and smaller web applications and cronjobs.

top 50 comments
sorted by: hot top controversial new old
[–] dieTasse@feddit.org 1 points 3 days ago* (last edited 3 days ago)

I humbly disagree with others that 16 Gigz of ram is not enough. A. For the first server it is definitely enough, before you know what you really need. B. In current rampocalypse it would be crazy buying ram without knowing that you really need it (only for it to sit there unused later). Your setup is fine and only time and your inner hobbyist selfhoster will tell later what you need.

Edit: and fyi I curretly do have 48 Gigz 😂, bought it a year ago very cheap and my system uses 10. Therefore I have set a high ARC to 16 GB. I used to try local LLM but didn't find it useful for the high power consumption. Just wanted to show you where my opinion come from. Nowadays I wouldn't buy more than strictly necessary.

[–] Tolstoy@lemmy.world 20 points 6 days ago (1 children)

Depends on the docker containers but it's way overkill than you might think.

Since you're starting it may be worth looking into used office PCs like the thinkcentre from Lenovo or other brands(no tiny or ssf since they don't have to room for drives). They often offer good perfomance for the price and the power consumption is not too high.

[–] negativenull@piefed.world 3 points 6 days ago (1 children)

I run a lot of containers in my homelab, which consists of an OrangePi (similar to an RaspberryPi 5). It works surprisingly well, and was only (at the time) $250 for the board, case, and emmc drive.

[–] melroy@kbin.melroy.org 1 points 6 days ago

Not for me. I have a very quick ryzen setup with tons of ram and nvme etc. I never want back to a orange pi. But sure. I don't like waiting, as a developer myself I just want to have quick loading pages and services.

Most of these devices have very limited IO disks speeds as well as slow processors. And also limited ram.

[–] irmadlad@lemmy.world 9 points 6 days ago (1 children)

Your server looks fabulous, and I'm not discouraging you from pursuing it in the least. However, if I may draw from my own personal experience and what I am currently running, it may give you some ideas. Currently, I am running 53 containers on a Optiplex 7020 SFF with the i7-4790 and 32 GB RAM. Just checked and it's load average at this moment is: 0.47, 0.60, 0.73. Meaning it's pretty much in an idle state except for logging in just now. Grand total cost was less than $200. It consumes about $8 USD/month.

Unless you're going to get into selfhosting heavy AI models, most stock PC, office discards, etc built in the last 10 years will do just fine for a homelab, with a little love like some additional RAM or a dual nic card. Immich and Nextcloud will probably require a bit more than 16 GB RAM running together. I don't run Immich, but I do run Nextcloud and it does just fine with the above set up. No lags, stutters, etc.

[–] FippleStone@aussie.zone 2 points 5 days ago (1 children)

How much do to pay for electricity? I'm running an I5-3470 and it costs about $17.50 USD/month, at $0.23 per kwh, the stack of 3.5" HDD's pushes up the power consumption a fair bit though

[–] irmadlad@lemmy.world 2 points 5 days ago

I pay around $8/month USD. Now, there are factors involved. One, electricity in my locale is relatively cheap. In addition, I have solar. To contrast the Optiplex 7020 SFF, I used run the same containers/content on a Dell T320. It cost $40/month USD. which still isn't an outrageous expenditure for someone with another type of hobby. Some of my other hobbies, like creating music, those prices climb steeply, rapidly. Last count I have 48 guitars, several banjos, 8 bass, an oud, mandolin, 4 full size Korg synth keyboards. three violins, and amps out the yang. So $40/month was peanuts, but I wanted something that wasn't such a hog. Plus the heat dissipated by the T320 was significant, and that is passed on to your AC bill as well. The 7020 is much quieter, energy efficient, and produces very little heat. Win, win.

[–] realbadat@programming.dev 9 points 6 days ago

Just about anything is OK for a server, I use whatever hardware I get from work thats being decommissioned.

The biggest limit I see is the ram. Depending on what you spin up and how, it'll be the tightest budget per service.

[–] sepi@piefed.social 6 points 6 days ago (1 children)

I have used a laptop without a screen as a server, raspberry pis, 10 year old laptop, proliant server, something with a via itx motherboard and a cheap cpu, like literal trash.
So yeah your build is more than fine. Don't stress your budget too much, but if you can afford this you will have better than my first "server". Remember to have fun with it!

[–] waterSticksToMyBalls@lemmy.world 3 points 6 days ago* (last edited 6 days ago)

Ran a server off a fantastic workstation laptop that a user dropped off their bed, driving a USB stick through the power button and breaking the screen. Had to power it on with a stick directly poking the motherboard but it worked flawlessly for many years

[–] minoche@lemmy.world 2 points 5 days ago (1 children)

I made a very similar build almost 2 years ago.

I did not like the Jonsbo N4. The HDD temps were bad. The case amplified HDD noise and was a pain to build in. I used a Silverstone SFX power supply. I had two of those PSUs fail in less than a year.

After the second expensive SFX PSU failed, I decided I did not want to buy another. I changed cases to the Fractal Design Node 804 and bought an inexpensive ATX PSU. I have been much happier with my build after those changes. My HDD temps dropped by about 10 degrees Fahrenheit. The case is much quieter and I was impressed by the quality.

[–] non_burglar@lemmy.world 1 points 5 days ago

Agree on the Jonsbo. I have an N1 and it is not great for cooling HDD either. Jonsbo seem to design their cases as ideas and never actually test them.

[–] lewiks@lemmy.world 3 points 5 days ago

I have that same case in black, overall very similar setup. I like how it looks, but if I would change one thing in my server it would be the case. It's quite a hassle to work inside of, and for its size, only being able to hotswap 4 HDDs is very little compared to other cases you can find.

It's not bad by any means, but you can get better

[–] philanthropicoctopus@thelemmy.club 4 points 6 days ago (1 children)

Might be abit much but double your ram if you intend on using a lot of apps

[–] melroy@kbin.melroy.org 2 points 6 days ago (1 children)

I agree. The most limiting factor is still memory for me. And I'm max out currently of my motherboard (128gb).

Recently thessecond limiting factor is actually cpu. But that is due to my gitlab runners.

[–] hirihit640@sh.itjust.works 1 points 5 days ago (1 children)

how are you using 128 GB? Genuinely curious because I run over 20 services with only 8 GB

[–] melroy@kbin.melroy.org 1 points 3 days ago (1 children)
  • I run 50+ websites
  • MariaDB instances
  • PostgreSQL instances
  • Docker containers
  • Mbin, Nextcloud, GitLab, GitLab runners, gitea, bitcoind, fulcrum, grafana, prometheus, influxdb, Synapse, Angie, telegraf and various other services like fail2ban etc. etc.

All optimized for performance and fine tuned as well, eg. lets say you run mariadb vs how I run it:

innodb_buffer_pool_size = 8G
innodb_flush_log_at_trx_commit = 2
innodb_log_file_size = 2G
innodb_log_buffer_size = 32M
innodb_max_dirty_pages_pct = 90
innodb_io_capacity=5000
innodb_io_capacity_max=20000
innodb_read_io_threads=8
innodb_write_io_threads=8
query_cache_type = 1
query_cache_limit = 2M
query_cache_min_res_unit = 2k
query_cache_size = 128M
tmp_table_size= 128M
max_heap_table_size= 128M

[mysqld]
max_connections = 200
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
transaction_isolation = READ-COMMITTED
binlog_format = ROW
innodb_file_per_table=1
# Increase open files based limits.conf value
open_files_limit=65535

Same idea for Postgresql.. You can run "postgres" or.. actually run postgresql in production correctly like:

shared_buffers = 6GB
work_mem = 20MB
maintenance_work_mem = 2GB
maintenance_io_concurrency = 200
max_worker_processes = 14 
max_parallel_workers_per_gather = 4
max_parallel_maintenance_workers = 4
max_parallel_workers = 12

synchronous_commit = off
commit_delay = 300

checkpoint_timeout = 30min
max_wal_size = 60GB
min_wal_size = 4GB
[–] hirihit640@sh.itjust.works 1 points 3 days ago (1 children)

Actually now that I check your username I think I have seen your instances before, though it seems like your website is down at the moment. But thank you for service to open source !

[–] melroy@kbin.melroy.org 1 points 3 days ago (1 children)

nah its not down.. maybe you use a VPN.

[–] hirihit640@sh.itjust.works 1 points 3 days ago (1 children)

I do. Do you block all VPNs? Or is it just rate limiting?

[–] melroy@kbin.melroy.org 1 points 2 days ago (1 children)

I block some misbehaving data centers. Which are often also used by VPN providers. So it's more collateral damage.

No I fully block some data centers not just rate limit.

[–] hirihit640@sh.itjust.works 2 points 2 days ago (1 children)

Unfortunate but understandable. I believe there are public lists of the IPs of major VPN providers if you wanted to make an exception, but as VPNs are sometimes used for scraping too, I can see why you might not want that.

[–] melroy@kbin.melroy.org 1 points 2 days ago (1 children)

Yea so the same servers and IP addresses VPN provider use (which are again just cloud providers) are also used for other purposes mainly by scrapers and DDos attacks indeed. Too bad all those cloud providers do not act accordingly in the past 5 - 10 years. Since its getting worse and worse. With the increase of datacenters and centralization, I consider it a duty of these companies to take action to stop these scammers, spammers, scrapers, and attackers.

However, that is often not the case. Now I must say, I created Angie Guardian myself (alternative to Anubis). So hopefully soon I can slowly open some of ASN bans. And see how it goes.

[–] hirihit640@sh.itjust.works 1 points 2 days ago (1 children)

Do you know if the scrapers/bots are using the VPN providers? Or if they are just using VPSes in the same datacenter as the VPN, and the datacenter is just NATing all egress traffic to have the same IPv4. In that case I wonder if IPv6 could help distinguish between VPN traffic and bot traffic...

Though ultimately a gate like Anubis or Angie Guardian might be the best solution here so nice work.

[–] melroy@kbin.melroy.org 1 points 1 day ago (1 children)

The scrapers most likely don't use the VPN providers AFAIK. But these cloud providers have dozens of datacenter locations where you can rent your own virtual server (VPSes) and those datacenters are also often used by VPN providers.

Its actually often coming from separate IP addresses. Which makes it actually even harder, its not just 1 or 2 IP addresses. Meaning both good and bad traffic has 100.000+ of unique IP addresses per IP range. At that point I block the whole ASN: https://www.cloudflare.com/learning/network-layer/what-is-an-autonomous-system/

Meaning I basically block the whole datacenter and mark them as bad actors. Cloud server providers F*K up the internet, since before you can easily block one, two or ten IPs and be done. Today, those bad actors and scrapers or DDos attackers can use millions of unique IP addresses, because it can rely on the whole cloud provider IP ranges (ipv6 is even more insane ofc).

https://asrank.caida.org/

[–] hirihit640@sh.itjust.works 2 points 23 hours ago

Ok that makes sense. As a user I've always wondered what it was like from the providers perspective. I always hear people complaining that more and more websites block VPNs, but sounds like it might be better to say more and more websites block scrapers and the VPNs are collateral. Thanks for the insight

Your part list is extremely similar to my main home server. You'll do just fine with the hardware you've selected. It is a GREAT starting point.

For context I have been running an AMD 5600g alongside 32gb gskill ddr4 RAM since covid, tho back then it was a 2600x paired with an ancient FirePro for graphics. Boot drive is m.2 ssd and I have 4 hand-me-down enterprise HDDs for storage. (I originally was using whatever spinning rust I already had on-hand at that time, but I have replaced them since)

[–] utjebe@reddthat.com 3 points 6 days ago* (last edited 6 days ago) (1 children)

You can get Ryzen 5650G Pro from ebay that will support ECC. Just make sure it's not vendor locked.

Obviously you'd need to adjust mobo, not sure if Gigabyte supports ecc. Asrock was pretty cool with ECC.

[–] dieTasse@feddit.org 2 points 3 days ago* (last edited 3 days ago)

I'd recommend using eficient procesors as well, so with ryzen with grafics and efficience it's GE at the end. I recently switched ryzen 5 5500 for ryzen 5 4600GE (because 5500 doesn't have efficient variant) and the consumption halved (- 30Wh). And both were/are basically idle with very low loads.

[–] inanimate_carbon_rod@lemmy.zip 3 points 6 days ago (1 children)

16GB RAM may be a bit low for the setup, as others have suggested, but I'm currently running Immich and Nextcloud and a handful of other small services (like FMD) dockerized in an 8GB Raspberry Pi 5. I've experienced very few issues. In my opinion, you could find a used Ryzen 3600 or even older, and 16GB will probably serve you just fine. You could save yourself a hundred bucks or more.

That said, what you've got here is nice and future-proof for quite a while, even if you end up going down the rabbit hole. You might eventually need another 16GB of RAM, but maybe not until after the AI bubble pops 🙂

load more comments (1 replies)
[–] waigl@lemmy.world 3 points 6 days ago (1 children)

If you're already going for spinning rust hard disks, why limit yourself to the 3 TB ones? IMHO, these days, spinning rust only makes sense at 8 TB+ per disk.

[–] libewa@feddit.org 6 points 6 days ago (1 children)

I have them at home and as such don‘t need to spend money on them.

[–] kalpol@lemmy.ca 4 points 6 days ago

Story of my life

[–] riskable@programming.dev 3 points 6 days ago (1 children)

Massive overkill!

That's a great Home Theater PC. Hook it up to your TV and install KDE Plasma (distro of your choice 👍) then just crank up the global desktop zoom to like 225% and get:

  • A real wireless mouse that has a long range (e.g. $10 TEKNET cheapo deal with 10% off coupon today, LOL! https://a.co/d/02qG1oHO )
  • A wireless keyboard/trackpad combo that's made for that kind of thing (they're all terrible keyboards—it's only purpose is to get you through the boot menu/rescue process if something horrible goes wrong). Use SSH for doing any real work on the thing.

Now install Docker and all the containers/servers you want!

I have a ~14yo HTPC with a mostly modern GPU (8GB) that only has 8GB of RAM and four cores on some old AMD CPU. It's running four separate servers for my self-host purposes and it doesn't break a sweat.

load more comments (1 replies)
[–] pHr34kY@lemmy.world 2 points 6 days ago* (last edited 6 days ago) (1 children)

2 of my 4x 4TB spinning drives are portable. 2 in mirrored raid, and on-site backup, and an off-site backup. If you don't have it on 3 drives across two sites, you don't have it. 5400RPM is fine as long as you allocate some of that NVMe as a cache for it. Keep all high-transaction stuff like databases, thumbnail caches and indexes on the NVMe drive. Going to 7200RPM just increases power consumption and noise, and reduces reliability.

The other specs seems fine, but I personally upgrade my desktop then take the old CPU, RAM and motherboard to use for my server.

Immich and Nextcloud run fine on my 2015 Core i5 with 16GB RAM.

[–] libewa@feddit.org 1 points 6 days ago (1 children)

How do I do that with the SSD cache? Everyone just talks about it, but I can’t find any documentation…

[–] pHr34kY@lemmy.world 2 points 6 days ago

I'm using bcache, and I'm using btrfs as the filesystem on top of it. I'm not sure that the way I've done it is considered best practice anymore. The discourse online is a mess because the landscape keeps evolving.

https://evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt

[–] Decronym@lemmy.decronym.xyz 2 points 6 days ago* (last edited 23 hours ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
Git Popular version control system, primarily for code
LVM (Linux) Logical Volume Manager for filesystem mapping
NAS Network-Attached Storage
NVMe Non-Volatile Memory Express interface for mass storage
PSU Power Supply Unit
SSD Solid State Drive mass storage
SSH Secure Shell for remote terminal access
VPN Virtual Private Network
ZFS Solaris/Linux filesystem focusing on data integrity
nginx Popular HTTP server

[Thread #71 for this comm, first seen 2nd Aug 2026, 22:20] [FAQ] [Full list] [Contact] [Source code]

[–] yaroto98@lemmy.world 2 points 6 days ago

One thing you may want to explore is your OS. If you want to do what you suggested with a NAS OS like TrueNAS or Unraid. They can take advantage of a ssd cache. One small regular ssd for your OS, storage on your hdd array, and a NAS quality ssd that essentially runs your docker containers that gets backed up to your array.

It's not nessesary. But if it's something you think you might want to do in the future, you'll want a plan for it now. Make sure you have enough mobo connections, and space in your case or an idea on how you would want to expand.

[–] MangoPenguin@piefed.social 2 points 6 days ago (3 children)

I would probably go Intel with iGPU for the transcoding and acceleration for Immich. i3-14100 is fast and cheap.

Otherwise you definitely have far more CPU power than you'll need for those apps so no worries there.

load more comments (3 replies)
[–] cRazi_man@europe.pub 2 points 6 days ago (2 children)

FYI: I'm a noob myself.

Looks fine, but if you're looking to mess around with a first build then you could go cheaper. Secondhand hardware would save you money, especially since older hardware is great for server use. At least you're saving money with AM4 and DDR4.

Some thoughts:

  • I went with an Intel CPU for Jellyfin transcoding.
  • 16gb ram is enough to start and I host tons of stuff with that much, but the more ram the better. Having 2 more ram slots for future expansion would serve you well (but not essential).
  • Faster networking would be better. Your mobo has 1 gigabit LAN. Again not a deal breaker. You can add faster networking yourself later.

This guy makes great videos, but you have to be careful to not overcomplicate things or chase specs that pro home server guys want that make no difference to noobs.

load more comments (2 replies)
[–] sarkxy@lemmy.world 2 points 6 days ago (1 children)

Yes it will be fine. Much will depend on what OS you will run and in turn how you want to do storage. NAS drives might not be necessary if you going to use software defined storage. If in your budget consider a CPU with more cores for virtualization and docker.

Overall nothing wrong with that configuration. But if you really get into all the awesome stuff you can self host your two constraints are RAM and CPU cores.

[–] libewa@feddit.org 3 points 6 days ago

The NAS drives are here because they are from an old NAS which only uses a cheap dual-core Intel, has 2G of RAM, and boots from eMMC. So anything would be an upgrade…

load more comments
view more: next ›