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

Selfhosted

61279 readers
355 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.

you are viewing a single comment's thread
view the rest of the comments
[–] philanthropicoctopus@thelemmy.club 4 points 1 week 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 1 week 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 2 points 6 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 5 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 4 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 4 days ago (1 children)

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

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

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

[–] melroy@kbin.melroy.org 1 points 3 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 3 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 3 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 3 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 3 days 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 2 days 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