Eliminate All Sorts of Spam with RspamD
So,
For a longer while i had websites being targeted with obvious trustpilot/seo/optimize email scams that just kept going and going and going. Even on one hour freshly raised domains they where able to find the email alias just like that to bombard with spam.
I was using RspamD but the lack of proper blocking kind of made me wonder, if i could customize it the way i want it. This trick will actively block any future of these BULLSHIT emails for you, your clients and much more.
First, you need RspamD. If it's setup and working, good. Here's the installation requirements through SSH:
mkdir -p /etc/rspamd/mapsnano /etc/rspamd/maps/blocked_keywords.mapInsert:/you won (a|one) million/i/work from home and earn/i/crypto( )?giveaway/i/urgent( )?invoice/i
# 2) Add multimap rules (subject + body)
Create or edit:
nano /etc/rspamd/local.d/multimap.conf
Add rules like these:
# Block by SUBJECT
BLOCKSUBJECTKEYWORDS {
type = "header";
header = "Subject";
map = "regexp;/etc/rspamd/maps/blockedkeywords.map";
prefilter = true;
action = "reject";
message = "Rejected: blocked subject keyword";
}
# Block by BODY (text parts)
BLOCKBODYKEYWORDS {
type = "content";
filter = "body"; # body/text extraction
map = "regexp;/etc/rspamd/maps/blockedkeywords.map";
prefilter = true;
action = "reject";
message = "Rejected: blocked body keyword";
}
Test/reload the stuff:
rspamadm configtest
systemctl reload rspamd 2>/dev/null || systemctl restart rspamd
Now start adding regex entries like these into, /etc/rspamd/maps/blocked_keywords.map:/SEO-audit/i/Website SEO/i/mobile app/i/Boost Brand Credibility/i/google rankings/i/SEO- en Google/i/india/i/positive response/i/premium websites/i/web development/i/Send Proposal/i/social media strategies/i/service provider company/i/buy reviews/i/missing Google traffic/i/𝐫𝐚𝐧𝐤/i/free analysis report/i/your details on Google/i/page #1/i/increase daily traffic/i/business on Google/i/customer inquiries/i/Medical Apps/i/Finance Apps/i/Full Proposal/i/Search Engine Optimization Service/i/Google Submissions/i/SEO Strategy/i/seo\s+campaign/i/graphic\s+design/i/welcome\s+discount/i/seo\s+work\s+scope/i/on\s+sale/i/hire\s+web\s+expert\.?/i/(boost[\s\-_.]*engagement)/i/(re:\s*forward)/i/(free[\s\-_.]*analysis[\s\-_.]*report)/i/(remove|delete|take\s*down|neutralize)\s+(unfair|misleading|harmful|negative)\s+reviews?/i/(policy\s+violations?|violat(e|ing)\s+polic(y|ies))\s+.*\breviews?\b/i/\bgenuine\b.*\bpositive\s+reviews?\b/i/\bwell[-\s]*written\b.*\bpositive\s+reviews?\b/i/\bstrengthen\b.*\b(profile|listing)\b.*\bpositive\s+reviews?\b/i/\bprotect\b.*\b(reputation|business\s+image)\b.*\breviews?\b/i/\breview\s+specialist\b/i/\breputation\s+management\b.*\breviews?\b/i/\boutsource\s+(your|the)\s+work\b/i/\binterested\s+to\s+outsource\b/i/\bwork\s+with\s+us\b.*\boutsource\b/i/\bshare\s+your\s+(site|website)\b.*\b(requirements|requirement)\b/i/\bso\s+that\s+we\s+can\s+discuss\s+further\b/i/\bdigital\s+marketing\s+agency\b/i/\b(website|web)\s+(design|development)\b.*\b(seo|smo|ppc)\b/i/\bseo\b.*\bsmo\b.*\bppc\b/i/\b(smo|ppc)\b.*\bseo\b/i/\bproviding\s+services\s+like\b/i#You can harden it through this for example:/(graphic[\s\-_.]*design)/i/(seo[\s\-_.]*campaign)/i/(on[\s\-_.]*sale)/i
Restart, and watch the glory happen. You can finetune accordingly and watch the logs of what actually is being rejected. Spamassassin and such barely work because with newly created domains you can copy it all over the place which is not a ideal thing. Above works and instantly after they got Blocked messages they start to adept using AI. I'm actively blocking this through the use of such
Thanks
Hey all, first time poster long time lurker. I just set up a sizable unraid server at home, and I’ve been learning so much and getting so much out of the posts on this sub. I really just wanted to say thank you for all the folks who post and moderate on here. This has been such a valuable resource as I’ve waded into self hosting, and I’m having such a blast. Really, thanks yall.
https://redd.it/1qki6ko
@r_SelfHosted
I’m very new to this… is this a good mini pc to use for hosting a Jellyfin server for 3 users?
https://redd.it/1qkhcyy
@r_SelfHosted
Open source products for visualizing docker networks
Hi Community,
Like many others I have over time build many networks, private vpns, third party vpns, tunnels, etc. I there any open source solution to visualize the traffic flows in these bandwidth used, etc.
eg. quickly check which containers are connected to which network, how much is the traffic flowing between these containers, open ports internal/external, etc
https://redd.it/1qkbexn
@r_SelfHosted
Self-hosted alternative to Gmail's soon-to-be deprecated External Accounts and Gmailify features?
Hi all,
Can anyone recommend a self-hosted alternative to Gmail's soon-to-be deprecated External Accounts and Gmailify features? FOSS preferred.
If you don't know, Gmail allowed unifying multiple accounts, even from external service providers, into a single unified interface, and it fetched emails via POP3 or API.
Forwarding won't work as not all accounts support SRS, and deliverability sucks even on a good day.
https://redd.it/1qk9jbp
@r_SelfHosted
Stirling PDF issues
Hey,
do we have any stirling pdf experts here? I don't use stirling pdf a lot but every time I want to use it it either doesn't work at all or it does something I didn't expect it to do so I'm almost at the point of giving up.
Today I want to separate a very large pdf document (about 5000 pages and 740Mb) into smaller documents. I'm on the latest version of stirling, uploaded the document and it shows "loading pdf engine" for over an hour now. Surely it can't take that long.
Anyone got an idea what I'm doing wrong? Cheers
https://redd.it/1qk5une
@r_SelfHosted
Help popular selfhosted projects keep EU funding!
The European Commission has just launched a consultation on the EU's future Open Source strategy. The Deadline is the 3rd of February.
The EU has funded loads of popular selfhosted Open Source projects (like Mastodon, Nextcloud, OnlyOffice, Matrix, BigBlueButton, CryptPad, PixelFed, Xwiki and many many more) through the Next Generation Internet Initiative, the funding for that initiative is coming up for review!
If you want more funding from the EU for Open Source, now is the time to speak up!
Participate in the Consultation here and call on the EU to keep funding FOSS!
https://redd.it/1qk1vom
@r_SelfHosted
Script to periodically clean Jellyfin’s “Continue Watching” section
Hey everyone,
I got a bit annoyed with my Continue Watching section filling up with abandoned episodes/movies started by mistake, so I wrote a small bash script to clean it up.
What it does:
Runs in two passes:
1. Per-series cleanup
Keeps the furthest reached episode (default)
Keeps the latest watched episode (maybe you've fallen asleep and moved back a few episodes to rewatch - let's keep it)
Resets resume position for older episodes in the same series (usually dangling trash)
2. Age-based cleanup
Resets resume positions for items (movies/series) abandoned for more than `MAX_DAYS` (default: 7)
Does not mark anything as watched
Dry-run mode by default (prints what would be cleaned)
--apply flag required to actually modify the DB
⚠️ Note: I’ve only tested this on a single-user Jellyfin setup.
If this sounds useful, feel free to check it out / adapt it.
It's been tested on two separate Jellyfin instances and worked well for a longer period of time (just added it as a cron job)
Remember to change the DB path to your own.
Here's the link to github gist:
https://gist.github.com/rybycy/caddacc50b799f345c86d2a0bed22371
https://redd.it/1qjy6sq
@r_SelfHosted
Updates to Jellify - a FOSS music player for Jellyfin!
https://github.com/Jellify-Music/App
https://redd.it/1qjvlbk
@r_SelfHosted
Managarr (A Servarr CLI and TUI) now supports Lidarr!
https://redd.it/1qja9c1
@r_SelfHosted
Is it just me, or is "field-ready" IoT hardware still stuck in the dark ages?
Honestly, I’m getting frustrated. I’ve been trying to set up a simple, reliable sensor node for my uncle’s farm (we need basic soil moisture and GPS tracking for some equipment), and I feel like I'm hitting a wall.
On one hand, you have the classic ESP32/Pico breadboard mess. It’s fun for a desk project, but one heavy rainstorm or a ride on a vibrating tractor and the whole thing is guaranteed to fall apart.
On the other hand, you have these massive, over-engineered industrial PLCs that cost $500+ and lock you into a proprietary cloud with a $20/month subscription per device. Is there seriously nothing in between?
I just want a rugged, IP67-rated, USB-powered dongle that I can connect to a Pi or a PC and write my own MicroPython or C++ code for. Something that handles a stable RS485 connection without me having to solder a bunch of jumpers and pray it works.
Does anyone know of a professional-grade dongle that isn't a total "black box"? I need something I can deploy in a field and not worry about it melting in the sun or dying after a week.
https://redd.it/1qjgkq6
@r_SelfHosted
Don't want Nextcloud...
...What other light file storage self hosted app with a decent ui do you recommend?
https://redd.it/1qj95ft
@r_SelfHosted
MOD ANNOUNCEMENT: Introducing Vibe Code Friday
The recent influx of AI has lowered the barrier to entry to create your own projects. This development in itself is very interesting and we're curious to see how it'll change our world of SelfHosting in the future.
The negative side of this however is the influx of AI generated posts, vibe-coded projects over a weekend and many others. Normally, the community votes with its voice. But with the high amount of posts flooding in every day, we've noticed a more negative and sometimes even hostile attitude towards these kinds of projects.
The stance of the SelfHosted moderation team is that the main focus of this sub should be on services that can be selfhosted and their related topics. For example, but not limited to: alternatives to popular services, taking back control over your data and privacy, containerization, networking, security, etc.
In order to bring back the focus on these main points of SelfHosting, we're introducing "Vibe code Friday". This means that anything AI-assisted or vibe-coded in relation to SelfHosting can be posted only on Fridays from here on out.
Throughout the week, any app or project that falls within the category will be removed. Repeat-offenders will be timed out from posting.
This is to reduce the flood of these personal projects being posted all the time. And hopefully bring back the focus to more mature projects within the community.
In order to determine the difference (as going by code & commits alone can be a great indicator but by itself does not make a great case for what constitutes a vibe-coded or AI-assisted project) we've set the following guidelines:
- Any project younger than a month old
- With only one real collaborator (known AI persona's do not count, or are an even better indicator)
- With obvious signs of vibe-coding*
Will only be allowed on Vibe-code Fridays.
We'll run this as a trial for at least a month.
Sincerely, /r/SelfHosted mod team.
https://redd.it/1qfp2t0
@r_SelfHosted
I _also_ built yet another modern, self hoosted IPTV player .... because I didn't know the other 2 guys already did.
https://streamable.com/a8bvrg
https://redd.it/1qeobvd
@r_SelfHosted
So how are you guys handling the spotify/yt music "knowing what you like" problem?
My current setup: Ive got a library of roughly 40k songs, currently hosted through jellyfin with the audiomuse plugin and musicbrainz picard. im accessing it via symphonium.
I want to get off spotify and yt music as my streamed music providers. but the issue i have is in those apps the recommendations is too spot on and i cant find a way to replicate that. (and im not referring to new music from outside my library).
i just mean the "focus" "workout" "energy" personalized playlists and ability to look up one song and it perfectly plays similar songs of artists i like while slowly fading back to the music it knows i like. meanwhile i dont have to click the "skip song" button for a few hours
meanwhile symphonium even with the mood tagging and audiomuse just feels like its throwing stuff at the wall to see what sticks, rap followed by Frank Sinatra then Justin Bieber and corn. even when it does get it right and feels moderately cohesive i think it just doesnt know what music i like and im not quite sure how to help it get there. any advice would be great. Theres lots of songs i really like in my library but i feel like im constantly skipping and the music i want to listen to it isnt playing
https://redd.it/1qe4xt8
@r_SelfHosted
What are your favorite “invisible” self-hosted services?
Curious to find more stuff that just quietly runs in the background while being really useful.
For me having an always up syncthing node has been a huge quality of life boost, as well as SMB shares that act as time machine locations for the family. restic on the server backing up to backblaze and pihole for the home network are also things that i don't think about every day but bring a bit of joy every time i remember they're still there doing their job :).
https://redd.it/1qkk8ld
@r_SelfHosted
Not enough people are talking about Storyteller
https://storyteller-platform.gitlab.io/storyteller/
This thing has changed how I read. I'm surprised I don't see it mentioned often on here.
For those that don't know, Storyteller creates epub 3 files (.epub) that syncs your drm-free audiobooks and ebooks. You can listen and read along at the same time as it highlights each sentence. You can listen as an audiobook or read as an ebook and wherever you leave off is synced to the other. It's essentially Amazon's whispersync but for your own files.
There's 2 parts - the self hosted server you upload your drm-free ebooks and audiobooks to. It then creates a new epub 3 file (.epub) that has both the audio and ebook in one. You can then open that file in the Storyteller Android or iPhone app. There's other apps out there that can read these files with both audiobook and ebook but I've found the Android Storyteller app has worked the best for me. I also like it since when I'm home, it'll connect to the server so I can see my entire library and can download new epub 3's I've already created without switching apps.
I could never find where I left off when doing audiobooks and ebooks but this solves that problem for me. I have ADHD so I can sometimes struggle to sit down and read for long periods but I've found that listening to the audiobook while I read is a game changer.
Currently read and listen on my phone but am considering something like a Boox Palma which is an ereader but also runs Android.
https://redd.it/1qkhzzs
@r_SelfHosted
What's the one self-hosted service you'd never go back to the cloud version of?
Been self-hosting for a couple years now and curious what services have become completely irreplaceable for everyone here.
For me it's my password manager (Vaultwarden). The peace of mind knowing my credentials are on my own hardware is something I can't give up anymore.
What about you? What's the one thing you'd refuse to go back to a cloud service for?
https://redd.it/1qkdiyq
@r_SelfHosted
Setting up self-hosted Obsidian, need some assistance.
TL;DR: I'm trying to set up a self-hosted Obsidian page/bault as a gaming wiki for the systems we play that can be accessed outside of my home network by going to my domain. I also want to block any bots or malicious actors from accessing my server.
I know the easy solution is to use Tailscale, and if it comes to that I'll go that route.
What I really want to do is configure things so friends can go to "gaming-dot-mydomain-dot-com" and access the wiki. I own the domain and have a Cloudflare account, but I'm having some difficulties understanding some of the nuances. This isn't my wheelhouse, and right now work stuff is absolutely melting my brain for learning.
I'm using this Obsidian container in Docker. I can get that to load fine on my local network.
That same page suggests using Sealskin and SWAG.
I thought I had Cloudflare pointed at my IP address, but when I try to access with a device not on my home network I can't get it to load. I went over the configurations a few times, and thought I had things such as the API token properly configured, but I'm clearly messing something up.
May be relevant I have Proton VPN Plus. Can I use that (tunneling, wireguard) to grant access outside my home network?
Tailscale
I have used this, and most of my friends would be fine installing the app, but I'd rather they not have to go through extra steps. I've set Tailscale up for access to my Komga library remotely, and I've given a couple friends access. With this gaming wiki, not everyone would be amenable to downloading and setting up Tailscale, viewing it as extra work.
I'm willing to accept that this is outside my area of expertise and that I should give up on self-hosting, but I want to give it a fair shot.
Thanks!
https://redd.it/1qk3hoa
@r_SelfHosted
The Self-Hosted University!
There is plenty of high-quality, self-hosted–related learning material on the internet, created by some really smart people. I was thinking about a well-structured curriculum or roadmap that recommends a learning path using these open-source resources, covering the necessary fields to achieve a master-level self-hosting skill set.
Do we have something like that, fellow self-hosted bros?
edit: skills like shell scripting, networking,etc
https://redd.it/1qk7iji
@r_SelfHosted
Got this just before price went up 😬
https://redd.it/1qjzwee
@r_SelfHosted
aedelore-rpg-tools
I don't know if I'm the only tech enthusiast with a love for TTRPG-games.
Anyhow, if anyone else out there is like me this is a website that let's you play your favourite ttrpg online or paperless, and has a DM tool to make campaigns and adventures.
It has support for most common systems, the most integrated and advanced is ofc the system and design that is built for Aedelore.
Can be self hosted i.
Just wanted to lay it out there, it's not a show off or "look what I made"- kind of post. just something I needed and maybe anyone else need it as well or you just use the website I'm running. Whatever floats your boat so to say.
https://github.com/TubalQ/aedelore-rpg-tools
https://redd.it/1qk0k7u
@r_SelfHosted
Ah the joys of running your own mail server
https://redd.it/1qjimfi
@r_SelfHosted
What do you use for your 'local' backup?
I have my main NAS in RAIDZ1 (not backup ;)), which is encrypted then sent weekly to Backblaze B2 for remote backup.
What do people use for their in-between backup? Maybe some kind of storage device that only spins up once a day to backup the main NAS? What sort of device are you using?
https://redd.it/1qjpeqf
@r_SelfHosted
Any recommendations for single sign on for all the services?
Hello! I'm just tipping my toes in selfhosting and very quickly had the problem that pretty much all services have their own authentication. So i'm looking for something like one login page and all services automatically logged in after that. Do things like that exists and are they difficult to set up? And have any good recommendations?
Otherwise it's been fulfilling to have control over everything!
https://redd.it/1qjo5pw
@r_SelfHosted
AudioMuse-AI - Behind the scene
Hi All,
this is a behind the scene of AudioMuse-AI, to describe what I'm actually doing in the last months and show the effort but also the love behind the development of this software.
First of all, for who don't know, AudioMuse-AI exploit machine learning algorithm to analyze raw audio song in order to create smart playlist. It is not "AI" instead is try to rapresent the music througt vector thanks to neural network and then play with cosine similarity between vector. Basically say that if the distance between two vector is low, the song are similar.
When you're able to say that two song are similar, than you can construct on it and do different functionality to automatically create playlist on the major music server like Jellyfin, Navidrome, LMS, Emby, Lyrion and so on.
Till now all is simple, but where this machine learning appear? because I'm not just calling an API, here it is all Seflhostable first, privacy first AND reliability first: if your server work you don't need external service to keep working.
I started from an existing ML model, the MSD Musicnn model from MTG Essentia. MTG is one of the leading research group in the world about Music, not just Oldrock on reddit. They got the Muscinn (another wonderfull project) and they distill their model. Using their model is a first quick win. Imagine that also Plex started with them, just to name one. And for this I need to say thanks to Violet from the Jellify project to inspire me to move in that direction.
But with Essentia model I can only input a song, and have in output similar one. Chaphasilor from the FInamp project named me CLIP, that was able to transform word in vector, and image in vector, so that you can do similarity between Text and Audio. Do some search I found CLAP, that worked for song. More precisely LAION CLAP that is totally opensource (CC0 1.0).
All this big word to say that I integrated a second model in AudioMuse-AI, that is CLAP, on top of MSD Musicnn from MTG Essentia.
What' I'm doing NOW? I found out that CLAP is a bit heavy, at least for who run it on a single machine maybe not so recent and maybe with very big song collection. So in the last two month I'm trying to do the distillation process that practically try to re-create a tiny version LAION CLAP, that still reach good result.
Just to say some number we are try to moving from a model of 80 million parameter to 8 million. And here again I'm following an University Research study that did TinyClap, a distillation of (Microsoft) clap, but for sound. Here I'm trying to do for Music.
I don't know if I'll get success (till now I already did different fail, but only with fail you can learn, no?) but I'm still trying.
TL;DR: if everything work the next things will be having the same, but smaller and faster.
Why all this story? because behind a project like this there is a person, there is try, time spent, research, university study, a lot of passion and love for it, and I would like to transmit a bit of this love.
If you still don't know AudioMuse-AI then take a try, is all free and open source and you can find it here:
https://github.com/NeptuneHub/AudioMuse-AI
And in topic of naming people that help and inspire me I also want to say thanks to Kilian, from Jellyfin Intro Skipper, that help me to understand how to create the AudioMuse-AI Jellyfin plugin. He was extremly patience with me, so really big thanks!
If you like it, the only contribution that I search is a star on the github repo.
Thank you all for reading me in all this months, and thanks all for help me reaching 1000+ star on the repository!
If you're interested in any details of how AudioMuse-AI is developer or work, please feel free to ask
https://redd.it/1qjcyk9
@r_SelfHosted
My New App Stingray - Jellyfin for Apple TV
https://apps.apple.com/us/app/stingray-streaming/id6756280505
https://redd.it/1qizrq2
@r_SelfHosted
Dashboards are the worst thing that happened to self hosting
I think dashboards low key ruined self hosting for a lot of people.
Not the tools themselves. The mindset they create.
Once you add a dashboard, you stop asking why you need a service and start asking why its missing from the dashboard.
Suddenly you are running
a media server you barely use
a note app you forget exists
three monitoring tools watching each other
metrics for things that have never once failed
All green lights. Zero value.
I noticed I was spending more time looking at my setup than actually using it. Clicking tiles. Refreshing stats. Updating containers that nobody depends on.
The worst part is dashboards make complexity feel productive. If it looks clean and organized, your brain assumes its justified.
I unplugged my dashboard for a week.
Nothing bad happened.
Nothing broke.
I didnt miss a single service.
Now I only self host things that have users. Even if that user is just future me at 3am actually needing it.
Everything else is just digital shelf decor.
Curious how many people here would lose nothing if their dashboard disappeared tomorrow.
https://redd.it/1qez1l7
@r_SelfHosted
MusicGrabber - A self-hosted app for grabbing singles without the Lidarr drama
https://gitlab.com/g33kphr33k/musicgrabber
https://redd.it/1qef78k
@r_SelfHosted
Docker
sudo systemctl start docker
```
Store backups off-node. If all managers die simultaneously (rare but possible), this is your recovery path.
---
## When NOT to Use Swarm
To be fair, Swarm isn't always the answer:
- **Need advanced scheduling?** K8s has more sophisticated options
- **Running 50+ services?** K8s ecosystem is more mature at scale
- **Need service mesh?** Istio/Linkerd integrate better with K8s
- **Team already knows K8s?** Stick with what you know
For everything else - small teams, 2-20 nodes, wanting to move fast - Swarm is hard to beat.
---
## GitHub Repo
All compose files, Dockerfiles, and configs mentioned in this guide:
**[github.com/TheDecipherist/docker-swarm-guide](https://github.com/TheDecipherist/docker-swarm-guide)**
The repo includes:
- Complete monitoring stack compose file
- Production-ready multi-stage Dockerfiles
- Network configuration examples
- Portainer deployment scripts
---
## What's Coming in V2
Based on community feedback, V2 will cover:
- Deep dive into monitoring (Prometheus, Grafana, DataDog comparison)
- Blue-green deployments in Swarm
- Logging strategies (ELK, Loki, etc.)
- Traefik integration for automatic SSL
---
*What's your Swarm setup? Running it in production? Home lab? What providers are you using? Drop your configs and war stories below — I'll incorporate the best tips into V2.*
*Questions? I'll be in the comments.*
https://redd.it/1qe7wue
@r_SelfHosted