Selfhosted
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:
-
Be civil.
-
No spam.
-
Posts are to be related to self-hosting.
-
Don't duplicate the full text of your blog or readme if you're providing a link.
-
Submission headline should match the article title.
-
No trolling.
-
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.
-
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments

@djdarren Nobody's answered your actual last question, so: sudo dmidecode -t slot. That's DMI type 9, System Slots. It lists each slot with its bus width and whether it's occupied, so you can see which one is the x4 before spending a cent.
Pair it with -t connector (type 8). A SATA-only M.2 turns up there rather than under slots, which is the tell you're after.
This is the result of dmidecode
root@OpenWrt:~# dmidecode -t slot
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.
Handle 0x0026, DMI type 9, 17 bytes
System Slot Information
Designation: SLOT1_M.2
Type: x4 M.2 Socket 3
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:ff:1f.7
Handle 0x0027, DMI type 9, 17 bytes
System Slot Information
Designation: SLOT2_M.2
Type: x1 M.2 Socket 1-SD
Current Usage: In Use
Length: Short
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:ff:00.0
As far as I can tell, the top one is the M.2 in question, so it's a 4 channel PCIe slot. Running -t connector doesn't show that slot at all, presumably because it's not got anything connected to it currently.
I've order a cheap(ish) adapter that should arrive today, so I'll bung it in and report back.