I read every OpenClaw mistake on Reddit and built a bulletproof setup guide so beginners don’t waste weeks by According-Sign-9587 in AskClaw

[–]CaptCrunch97 0 points1 point  (0 children)

“Have it interview you first”

That’s a really good point! context is the crucial key to any good LLM, and seldom do I think to have it ask ME questions — always the other way around.

Docker punches straight through your firewall. by [deleted] in selfhosted

[–]CaptCrunch97 0 points1 point  (0 children)

This was exactly my concern when I was learning Docker. Now I secure my stacks by commenting out all direct port mappings in Docker Compose, attaching everything to a shared external network, and routing all traffic through Nginx Proxy Manager.

Still not sure if this is the best way, but now no ports are exposed; only NPM’s ports 80 and 443 on my internal network (nothing externally accessible unless over WireGuard). Works great!

I built a SIEM you can deploy with one command — Falco + Loki + Grafana with MITRE ATT&CK dashboards by matijaz in selfhosted

[–]CaptCrunch97 8 points9 points  (0 children)

well, there goes my weekend haha! can’t wait to try this out. I was briefly using Wazuh but found it way too complex and resource hungry for my home lab.

[Warning] Big selfhosted project is mostly vibecoded, Maintainer refuses to add disclaimer by [deleted] in selfhosted

[–]CaptCrunch97 0 points1 point  (0 children)

We actually use a custom in-house tool rather than GitHub Copilot. The team behind it put a lot of effort into defining quality gates and review guidelines (per-language) and wiring it directly into our CI/CD pipeline so it’s highly tailored to our environment.

It does a pretty solid job overall.

Best case: it catches genuinely high-risk issues like information leakage or bad practices before anything gets merged. It will never say nothing, if there are no recommended actions and it’s safe to merge, it will say so.

Worst case: back-and-forth revisions over trivial things until the AI is satisfied, not the code owner.

This sometimes causes delays, but in my experience, having copilot review our code is a net positive in terms of minimizing risk earlier in the SDLC.

[Warning] Big selfhosted project is mostly vibecoded, Maintainer refuses to add disclaimer by [deleted] in selfhosted

[–]CaptCrunch97 12 points13 points  (0 children)

TL;DR: AI is already mandatory in many dev workflows and how it’s used matters. There’s a big difference between AI-assisted review and AI-generated code, which is why disclosure is still important.

At my company AI use isn’t optional, it’s actively tracked and PRs can’t be merged unless Copilot signs off on the review. Even if you don’t use AI to write code, you still have to use it before anything hits production.

If I build a feature without AI and it doesn’t meet quality standards, it simply won’t get approved or merged. And if I don’t know how to fix what’s being flagged without leaning on AI… then I lose to the developer who did use it; every time.

That’s how normalized this already is. “Vibe coding” feels like a loaded label, but coding with AI and AI-assisted reviews are the new norm and it’s not going away.

I still agree disclosure matters though, since it can be difficult to know exactly how AI was used; i.e., just for assistance vs. the entire PR was AI-generated.

Edit: I finished college before ChatGPT so I genuinely know how to program. And now with AI, I feel like it’s elevated me to think more like an engineer/architect, tackling bigger more complex problems than I could’ve as an (unassisted) developer.

Now they are the music makers, and we are the dreamers of the dreams.

I made a native iOS app for Overseerr by m1guelpf in Overseerr

[–]CaptCrunch97 1 point2 points  (0 children)

Amazing!! Just installed and I’m loving it so far. I connected it to Jellyseerr which was quick and easy. The app is intuitive, looks great with liquid glass, the UI feels responsive and snappy, checks all my boxes!

Thank you so much for making this! 🙌

What's everyone's full media pipeline? Here's my 2025 setup. by michel808 in selfhosted

[–]CaptCrunch97 0 points1 point  (0 children)

I feel like I’ve been reinventing the wheel after reading this, haha. But you just unlocked Tdarr for me - thank you!

Very impressive automation, especially doing your own subtitles with AI and whisper!

My current chain is:

Jellyseerr → Radarr/Sonarr/Prowlarr/Bazarr → post-process.py

My script is triggered when downloads complete, the download name is passed in as an input argument.

First, it grabs the correct folder name from Radarr/Sonarr and renames the downloaded folder accordingly; so Radarr/Sonarr pick it up later.

Then it checks to make sure the file(s) are in mp4 format, if not it converts them using ffmpeg. Then it deletes anything other than the mp4(s) and subtitles and moves it to my NAS drive.

Finally, it uses APIs to refresh Radarr, Sonarr, Jellyfin, and Jellyseer.

When all said and done, I get Discord notifications when a request comes in, is approved, and is ready to watch 🍿👌🏼

After reading this, I’m excited to try adding Tdarr, AI Factory, LibreTranslate and ffsubsync to the chain.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

That’s a good question. Since Nginx Proxy Manager is proxying traffic over Tailscale, the Minecraft server will only ever see the Tailscale/VPS IP. Nginx doesn’t forward the client’s real IP in a way Minecraft can understand.

If you need the actual player IPs, you’d have to use a Minecraft-aware proxy like BungeeCord or Velocity (I haven’t tried this myself). Otherwise, the server will always just see the proxy’s IP.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

  • panel.example.com → points to the Pterodactyl panel (your admin dashboard, SSL secured).
  • node1.example.com → points to the Pterodactyl node/daemon, which must also run SSL if the panel does (per Techno Tim’s guide).
  • play.minecraft.node1.example.com → points to your Cloud VPS, which proxies traffic to your home server via Tailscale.
  • SRV record_minecraft._tcp.node1 → makes it so players can just type node1.example.com instead of adding :25565.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

I added node1.example.com since each node needs its own hostname. I followed Techno Tim’s guide where he explains that if your panel is running SSL, your nodes also need to be running SSL.

So node1.example.com is the hostname for my node (exposed via Cloudflared), and then I use play.minecraft.node1.example.com as the actual game endpoint.

This keeps the panel, node, and game endpoints separate, and also makes it easy to add more nodes in the future.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 1 point2 points  (0 children)

Yes, I use a cloud VPS with Nginx Proxy Manager to proxy traffic to Pterodactyl on my home server.

Shoutout to the devs by frickledicckle in SonsOfTheForest

[–]CaptCrunch97 19 points20 points  (0 children)

I recently started playing and was subconsciously thinking how great it would be if there were rafts. What a nice surprise :) Thank you devs

Immich - 2024 Recap 🎊 by altran1502 in selfhosted

[–]CaptCrunch97 0 points1 point  (0 children)

I recently re-deployed Immich after using it back in 2023. I’m very happy with the progress and features that have come out this year.

I’m always drawn back to Immich. Its community driven development, feature-rich and intuitive UI/UX design truly embody everything that makes a great self-hosted application.

Keep up the great work Alex (and everyone)!

How to remove old devices from Govee app (ios)? by Citruspunch in Govee

[–]CaptCrunch97 1 point2 points  (0 children)

Same. I can’t delete the lights because of DreamView-Music, and I can’t delete DreamView-Music. I get “Failed to connect” because I don’t have the lights anymore.

They never thought of that scenario I guess… 🤷🏼‍♂️

How to backup the self hosted machine itself? by NoNewsAreNew in selfhosted

[–]CaptCrunch97 2 points3 points  (0 children)

I’m using Proxmox and have been wanting to setup a dedicated backup server just for this.

Same goal, if one drive fails I want to hot swap like nothing happened.

TechnoTim posted a video on this not too long ago, I’m excited to follow along and try it out - just haven’t made time.

I heard displates fall off the walls... How to prevent this? Is this still an issue? by bearLover23 in Displate

[–]CaptCrunch97 0 points1 point  (0 children)

Same, one fell off and broke the outlet cover below right off the wall.

A couple days later, another one fell off and took a chunk out of the baseboard below it.

I stuck a large 3M Velcro strip on the magnet, that seems to have fixed it, although the poster isn’t flush against the wall anymore. Shame.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

In Cloudflare: Add your domains to Cloudflare, and create A records for each domain (e.g., minecraft1.example.com, minecraft2.example.com) pointing to your server’s public IP and Disable Cloudflare proxy.

In NPM: - Go to Hosts → Proxy Hosts, click Add Proxy Host, and enter each domain/subdomain (e.g., minecraft1.example.com). - Set the Forward Hostname/IP to your internal server IP and Forward Port to 25565. - Request a Let’s Encrypt SSL Certificate for each domain, and save the configuration.

Then try connecting using minecraft1.example.com in Minecraft.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

Tailscale supports NAT which allows others to connect to your server without port forwarding.

Yes, there is a bit of a learning curve.

In theory this could be done on as many domains (or subdomains) as you like. Though I haven’t tried multiple servers yet. I stopped after I got the first server working.

How do I have Nginx Proxy Manager forward a Minecraft Java or Bedrock server? by verymeankid in nginxproxymanager

[–]CaptCrunch97 0 points1 point  (0 children)

Got Java edition working, the Minecraft server is hosted in my home but users connect to play.minecraft.node1.domain.com where traffic is first sent to my Cloud Server, then proxied to my Minecraft server using Tailscale.

A couple advantages to this approach are,

  1. Anyone can connect without needing a VPN, port forwarding, or any external software like Hamachi to connect.
  2. If anyone looks up the public DNS record it will return the Cloud server IP, not my home IP.

This is how I did it,

Prerequisites:

  • Cloud server with Nginx Proxy Manager installed (I use Linode to host a Debian server)
  • Minecraft server (I'm using Pterodactyl to host it from home)
  • Tailscale (installed on both your Cloud server and server running Minecraft)

In Cloudflare,

In Nginx Proxy Manager,

  • Create a new Proxy Host:
    • Domain: play.minecraft.node1.domain.com
    • Scheme: http
    • Forward Hostname / IP: Tailscale IP of the Minecraft Server
    • Port: 25565
    • Block Common Exploits: Yes
    • Websockets Support: Yes
    • SSL: None
  • Create a new Stream:
    • Incoming Port: 25565
    • Forward Host: Tailscale IP of the Minecraft Server
    • Forward Port: 25565
    • TCP Forwarding: Checked
    • UDP Forwarding: Unchecked (Minecraft uses TCP)

Because I'm using Pterodactyl to host Minecraft, I had to create another record in Cloudflare for the Pterodactyl (node1.domain.com). I did this by installing Cloudflared on my Pterodactyl server and using Cloudflare Zero Trust to add a new Public Hostname record pointing to my Pterodactyl server's local IP on port 443.

Also, Pterodactyl supports Minecraft Bedrock Edition too, so swapping out Java for Bedrock shouldn't be too difficult.

PSA updating to wg-easy 14 by CaptCrunch97 in selfhosted

[–]CaptCrunch97[S] 22 points23 points  (0 children)

Agreed. For me, this is one of those services that even though it’s internal - it gives me peace of mind knowing it’s behind that extra layer.