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.
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.
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.
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.
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]
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.
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.
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.
Might be abit much but double your ram if you intend on using a lot of apps
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.
how are you using 128 GB? Genuinely curious because I run over 20 services with only 8 GB
- 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=65535Same 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 = 4GBActually 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 !
nah its not down… maybe you use a VPN.
I do. Do you block all VPNs? Or is it just rate limiting?
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.






