In current times when RAM and SSD storage is rather expensive, we shouldn't go too crazy with requirements for a full Core node. In my opinion it also depends on what is your use case.
I had full nodes running on Raspi 4B with 8GiB RAM perfectly fine until my 1TB SSD ran out of space. RaspiBlitz node with electrs and later Fulcrum Electrum server, LND lightning node, worked fine. It's not rocket fast, but again, totally fine to operate as a personal Electrum server for an Electrum or Sparrow SPV wallet.
To continue operation on such a Raspi 4B base, I'd upgrade it with a Sandisk SSD Plus 2TB SSD and it would be fine for some more years. Pay attention that a Raspi 4B's total power budget for it's USB ports is rather quite limited and power hungry SSDs can produce nasty issues. The SanDisk SSD Plus series is remarkably low on power needs, therefore a recommended choice for Raspi 4Bs.
This also works as a platform for a RaspiBolt node where you can tinker a bit more yourself and learn a thing or two depending on your own knowledge of Linux command-line.
I would run such Raspi 4B setups headless, the GUI overhead for OS likely eats up valuable RAM. Should still work if you use something lean.
For IBD with such a Raspi setup, go as lean as possible to be able to reserve 3-4GiB for dbcache. When your internet connection isn't the bottleneck, your Raspi should finish an IBD in about a week or so. My last experiment to test IBD speed with a Raspi 4B with 8GiB RAM is a bit too old to give a good prediction for today, see quoted debug.log entries below (Bitcoin Core 25.0.0;
dbcache=4883):
2023-06-22T18:00:43Z UpdateTip: new best=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f height=0 version=0x00000001 log2_work=32.000022 tx=1 date='2009-01-03T18:15:05Z' progress=0.000000 cache=0.0MiB(0txo)
...
2023-06-26T16:43:37Z UpdateTip: new best=000000000000000000017ba8b29ebaf27c3906954bf93ff571ed1bfdb0208614 height=796032 version=0x25b6a000 log2_work=94.265126 tx=856789548 date='2023-06-26T16:37:22Z' progress=0.999998 cache=3589.4MiB(22517213txo)
2023-06-26T16:46:24Z Saw new header hash=00000000000000000000a2c9c72ff100692ba39a89d5b84417a8b9d0e947db39 height=796033
2023-06-26T16:46:24Z [net] Saw new cmpctblock header hash=00000000000000000000a2c9c72ff100692ba39a89d5b84417a8b9d0e947db39 peer=3385
2023-06-26T16:46:31Z UpdateTip: new best=00000000000000000000a2c9c72ff100692ba39a89d5b84417a8b9d0e947db39 height=796033 version=0x2fffe000 log2_work=94.265140 tx=856792482 date='2023-06-26T16:46:05Z' progress=1.000000 cache=3589.5MiB(22517925txo)
I know that in mid 2023 chain tip of my experiment was just 796033 when we are today now at 966096. IBD to tip at 796033 took little less than 4 days, therefore my prediction that IBD to tip at 966k might be done within a week.
You can always add more RAM, more cores, faster storage, depending on your use case. I would set the minimum at 8GiB RAM, if an IBD shouldn't take ages, SSD storage for chainstate, block storage files are fine on a spinning rust HDD. Plan with at least 2TB storage space for a full node. Transaction index takes space, too, and you need it if you also want an Electrum server on top which of course also needs quite some space for its index files. Especially Fulcrum is more demanding than electrs.
Other than the Raspi platform, you can use a mini pc or a second-hand laptop. That's what I use for my full node(s) right now. Works like a charm, even 24/7. My goal is to use something that doesn't use much more than ~10W power consumption on average when I operate it 24/7/365 for a full node.
Here is space consumption of an Umbrel VM with 2TiB storage:
umbrel@umbrel:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 12270360 0 12270360 0% /dev
tmpfs 2458952 3176 2455776 1% /run
/dev/sda2 9856072 4622168 4751648 50% /
tmpfs 12294752 0 12294752 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
/dev/sda1 204580 49736 154844 25% /boot/efi
/dev/sda4 2118474640 1181176744 937281512 56% /data
tmpfs 2458948 0 2458948 0% /run/user/1000
Space consumption of Bitcoin Core node data:
umbrel@umbrel:~$ du -h umbrel/app-data/bitcoin/data/bitcoin/
12G umbrel/app-data/bitcoin/data/bitcoin/chainstate
69G umbrel/app-data/bitcoin/data/bitcoin/indexes/txindex
110M umbrel/app-data/bitcoin/data/bitcoin/indexes/blockfilter/basic/db
13G umbrel/app-data/bitcoin/data/bitcoin/indexes/blockfilter/basic
13G umbrel/app-data/bitcoin/data/bitcoin/indexes/blockfilter
81G umbrel/app-data/bitcoin/data/bitcoin/indexes
145M umbrel/app-data/bitcoin/data/bitcoin/blocks/index
815G umbrel/app-data/bitcoin/data/bitcoin/blocks
907G umbrel/app-data/bitcoin/data/bitcoin/
Space consumption of Fulcrum 2.1.2 electrum server:
umbrel@umbrel:~$ du -h umbrel/app-data/fulcrum/data/fulcrum
192G umbrel/app-data/fulcrum/data/fulcrum/fulc2_db
192G umbrel/app-data/fulcrum/data/fulcrum