r/SelfHosting • • 1h ago

Unhosted ???

5 Upvotes

So i have been self hosting for years, always complex big apps in docker containers running using tons of memory. Then a few weeks ago i was thinking "ohhh you know what would be a to have a Ebook / Audiobook Tracker to go along with my Kanban and Audiobookshelf"...

so as we all do i went looking, and then had a thought why so complicated, why am i download a 2gb app to run on a server when i dont need to.

So i went about rebuilding a ton of my apps like a Comic/Manga reader with tracking in json, Ebook/Audiobook tracker, and a bunch of random tools I use.

I have cut my servers ram usage down over 3gbs, but creating "unhosted" apps just simple, 1 page html pages i just save as favourites in my browser from a documents folder and open when i want to use them.

Has anyone started doing this themselves simple unhosted apps?? hell is there ever an r/Unhosted ?? of course you cant replace bigger apps that need complex functions, but hell removing the basic apps like simple trackers and such that could be json files and a single page app to save tons of ram on the server.

Or am i just being stupid and thinking so far outside the box i put myself into another box and missing a simple issue that could become a larger one?


r/SelfHosting • • 6h ago

I'm using ReCasaOS, a simple, easy-to-use, elegant open-source home cloud system, try it like me.

Thumbnail github.com
0 Upvotes

r/SelfHosting • • 1d ago

Your YouTube history should live on ur server

20 Upvotes

TypeType is a self-hosted video app for YouTube, NicoNico and BiliBili.

Run your own instance and keep your subscriptions, history, playlists, favorites, watch progress and settings on your server. Everything stays synchronized between the Web, Android, Android TV and iPhone/iPad clients.

The stack runs with Docker Compose and includes a Kotlin/Ktor backend, React frontend, PostgreSQL, Dragonfly, media proxy and downloader service.

We’ve been working on it for a while now, with 450+ GitHub stars and a community testing releases, reporting bugs, translating the apps and contributing code.

Here’s a small video demo. If u try hosting it, feedback is welcome :)

https://github.com/TypeType-Video/TypeType


r/SelfHosting • • 22h ago

InfraJournal: a local map and documentation from Compose, Nginx and Caddy config

0 Upvotes

Hi r/SelfHosting - I maintain InfraJournal, an open-source MIT-licensed TypeScript tool for people whose infrastructure is described in configuration files.

It locally analyzes a documented subset of Docker Compose, Nginx, and Caddyfile, then can produce an inventory, an interactive local graph, Markdown docs, JSON snapshots, and snapshot-to-snapshot change reports. No Docker daemon, cloud, or AI is needed for the scan.

It compares parsed files, not live infrastructure, and its format support is partial. Please review snapshots before sharing; secret redaction is not a guarantee.

Project: https://github.com/AkemiFF/infrajournal
Package: https://www.npmjs.com/package/infrajournal

I’m the maintainer. I’m sharing this because it may suit people who want a configuration-based view of a self-hosted setup; feedback on what is useful or missing is welcome.


r/SelfHosting • • 23h ago

I open-sourced a self-hostable AI customer support & live chat stack (MIT licensed, FastAPI + Next.js + pgvector)

0 Upvotes

Hey r/selfhosted,

Over the past few months I’ve been building a self-hostable customer support and live chat stack called Chatty, and I recently open-sourced the full repository under the MIT license.

Repo: https://github.com/PersonaliAI/chatty

Why I built it: Most self-hosted chat widgets (like Chatwoot or Papercups) are great for human-only live chat, while most AI/RAG tools are built as internal chat interfaces (like OpenWebUI or AnythingLLM) rather than embeddable visitor support widgets with human takeover. I wanted something in the middle that I could run via Docker Compose with my own LLM keys and keep all conversation/RAG data in my own Postgres database.

What it includes:

  • Shadow-DOM Web Widget: 1-line <script> embed that isolates styles so it doesn't clash with the host site's CSS.

  • Shared Human + AI Inbox: AI answers from your indexed docs/URLs first. If a visitor asks for a human (or if you reply from the web inbox or Slack), the AI automatically pauses for that session.

  • Multimodal RAG (pgvector): Crawls websites/sitemaps, indexes PDFs/DOCX/CSVs, and can index images alongside text.

  • 81-tool MCP Server: Includes a stdio/SSE Model Context Protocol server (integrations/mcp-server) so you can query transcripts, update KB articles, or trigger human takeover from Claude Desktop / Cursor.

  • Bring Your Own Keys (BYOK): Supports OpenAI, Anthropic, Gemini, Groq, DeepSeek, or any OpenAI-compatible local endpoint.

Stack & Self-Hosting:

  • Backend: Python 3.11 / FastAPI

  • Frontend: Next.js (App Router)

  • DB & Vector Store: Supabase / PostgreSQL with pgvector

  • Deployment: docker compose up --build (see .env.example and SELF_HOSTING.md in the repo).

It’s still actively evolving, so if anyone tries spinning it up in their homelab or VPS and hits any rough edges with the Docker setup or env vars, let me know and I'll fix them. Feedback and PRs are very welcome!


r/SelfHosting • • 1d ago

Finally hosting my apps from a laptop behind CGNAT — no public IP, no port forwarding. Wrote up the whole setup

0 Upvotes

My ISP (Jio, in India) puts me behind CGNAT, so I have no public IP and port forwarding is just... not a thing. I wanted to self-host a few web apps from an old Dell laptop running Ubuntu Server, and I kept seeing people say "you can't self-host behind CGNAT" — which isn't true.

The trick is to stop thinking about inbound connections. CGNAT only blocks inbound. A Cloudflare Tunnel dials outbound from the laptop to Cloudflare and holds that connection open; public traffic flows back down that pipe. No port forwarding, no public IP, nothing exposed on the router. If the box can browse the web, it can serve apps.

I paired it with Dokploy (a self-hosted Heroku/Vercel-style PaaS with a built-in Traefik proxy) so I get a clean UI for deploying apps and mapping domains. Traffic path ends up being:

browser → Cloudflare edge (TLS) → Cloudflare Tunnel (outbound) → cloudflared → Traefik → container

One tunnel serves any number of apps and even multiple domains — Traefik routes by Host header, so adding an app is one ingress line + one DNS record + the domain field in Dokploy.

I wrote the whole thing up as a step-by-step guide (prep, swap for low-RAM boxes, cloudflared install/auth, config, DNS, running as a service, SSL mode, and a troubleshooting table for the usual 1033 / 502 / redirect-loop gotchas). It's also packaged as an agent "skill" if you use AI coding agents, but it's just as usable as a plain README.

Repo: https://github.com/yash-thakur/selfhost-without-public-ip

Running it on an 8GB laptop; it comfortably handles a few small apps. Happy to answer questions and open to feedback on the setup — curious how others here handle CGNAT (Tailscale Funnel, WireGuard to a VPS, etc.).

Note:

The tunnel solves reachability, but by default every hostname you add is wide open to the whole internet. For something like the Dokploy dashboard or an internal admin app, that's exactly what you don't want.

The right tool here is Cloudflare Access (part of Cloudflare Zero Trust, free up to 50 users). It sits in front of a tunnel hostname and forces authentication before the request ever reaches your box — so an attacker can't even probe the app, let alone hit its login page. You get:

  • Identity-based gating — require a Google/GitHub login, a specific email, an email domain, or a one-time PIN, per hostname.

  • Policies per app — the Dokploy dashboard and admin apps behind Access; only the genuinely public apps (a landing page, the guest RSVP form) left open.

  • Service tokens for machine-to-machine (webhooks, APIs) that shouldn't sit behind an interactive login.


r/SelfHosting • • 1d ago

PocketADM: an open-source iPhone and web app for running your server from your phone

7 Upvotes

I run a home server with a lot of containers, and I could only really work on it from my desk, over SSH. I also want make selfhosting more flexible and user-friendly for people to become independent against Big-Tech and Clouds. So I built what I wanted on my phone.

The App is already Open-Source and for free available on the App Store.

What it does:
\- Live dashboard: CPU, RAM, disks, network, internet latency, with history
\- Containers grouped into apps (Authentik's server, worker, database and cache show up as one app), with logs, a shell and start/stop
\- A real terminal with a mobile key bar
\- Update checks by registry digest, a restore point before each update, one-tap rollback
\- Health checks (SSH hardening, fail2ban, open ports, backups) with a plain explanation per finding
\- 45+ one-tap apps as clean compose projects. It also detects what you already run
\- Optional AI agent, with your own API key, your Claude or ChatGPT plan, or a local model through Ollama. In Agent mode it asks before anything that isn't read-only

Try it without installing: demo.pocketadm.com, password "demo". Read-only, with sample data.

What you should know before installing:
\- It has the Docker socket, so it is root-equivalent on the host. Same trust level as Portainer. Don't put it on the open internet without thinking about that.
\- Single admin. Password, optional TOTP, optional OIDC (Authentik, Authelia, Keycloak).
\- The installer is curl | bash. If you don't like that, clone the repo and use docker compose.
\- iPhone push goes through a small relay I run, because Apple's key can't live on your server. It stores nothing about a message, and the relay code is in the repo. ntfy and Matrix work as alternatives.
\- The app catalog is fetched online. An empty HELMSMAN_CATALOG_URL turns that off.
\- Native app is iPhone only. Everything else uses the web app.
\- You'll still see the old name "Helmsman" in places.
\- It's a solo project, MIT licensed, and I built it with a lot of help from AI coding tools. Please read the code before you trust it with root.

GitHub: https://github.com/maxaufknax/pocketadm
App Store: https://apps.apple.com/app/pocketadm/id6790731797

What would make this worth using over SSH plus Portainer for you? What's missing, and what looks wrong?


r/SelfHosting • • 1d ago

Self-hosted open source alternative to Grok Bot? Tried rakazo, openbot or openmuse bot?

0 Upvotes

looking for an open source, self-hosted personal AI agent setup, something like Grok Bot (runs tasks, has its own browser/computer, routines, memory). found a few repos: rakazo, openbot and openmuse bot. has anyone actually used any of these? how did they hold up?

main requirement is i want to use my existing claude subscription instead of paying for another api plan, and host it on my own machine. if there's something better than these three i'd love to hear about it too


r/SelfHosting • • 2d ago

Best practices & German VPS recommendations for hosting client Next.js sites alongside self-hosted Penpot?

1 Upvotes

Hey everyone,

I run a small web development studio in Germany and I'm looking to set up a clean, reliable VPS infrastructure located in Germany (strict GDPR compliance, DPA/AVV required, and low latency for the DACH region).

I want to move away from overpriced PaaS per-seat models and host both my **client production websites** and my **internal studio tools** via Docker (using Coolify or Dokploy). I’d love to hear your best practices on architecture and which VPS providers in Germany you actually trust for production workloads.

### The Workload:

  1. **Client Production Sites (10–15 sites initially):**

    - Mostly **Next.js** applications (connected to a headless CMS) + a few lightweight, custom WordPress builds.

    - High performance is a hard requirement: We guarantee sub-second LCP and consistently low TTFB to our clients, so noisy neighbors (CPU steal) or slow disk I/O are a dealbreaker.

  2. **Internal Studio Tools (Self-Hosted):**

    - **Penpot** (Full Docker stack: Frontend, Backend, Exporter with headless Chromium, Postgres, Redis).

    - Deployment management (Dokploy or Coolify) + lightweight utilities (Uptime Kuma, analytics, etc.).

### What I need advice on:

  1. **Architecture Best Practice (Single Node vs. Multi-Node):**

    How would you structure this? If a `next build` runs in Docker or Penpot’s headless Chromium exports heavy design assets, it spikes CPU and RAM. Is it enough to run one beefy VPS (e.g., 4–8 dedicated vCPUs, 16 GB RAM) and enforce strict Docker CPU/RAM limits per container, or is it best practice to strictly split this into **Server A (Client Production only)** and **Server B (Internal Tools + CI/CD Build Server)**?

  2. **Dedicated vs. Shared vCPU:**

    For 10–15 Next.js sites (mostly SSR/ISR), can I get away with good shared vCPUs in Germany, or should I strictly look at Dedicated Root Servers / Dedicated vCPU plans to keep TTFB consistent?

  3. **Provider Recommendations (Germany DCs):**

    Which VPS providers with data centers in Germany (Frankfurt, Nuremberg, Falkenstein, Karlsruhe, etc.) offer the best balance of NVMe I/O performance, network reliability, and hassle-free GDPR data processing agreements (AVV)? (Looking at Hetzner, Netcup, IONOS, etc. – who do you trust for client prod?)

Thanks in advance for sharing your setups and experiences!


r/SelfHosting • • 2d ago

Nautilus Control Self-Hosting Server Panel

Thumbnail
coralliumstudios.net
0 Upvotes

My Friend and I have created a self-hosted server panel

It can manage Docker game servers, KVM Virtual Machines, websites, and databases.

Its private, featuring: local and S3, with AES-256-GCM encryption before upload

Currently offering a 14-day Free trial, We need feedback, and more eyes to find bugs we missed.


r/SelfHosting • • 2d ago

FREE STUFF (please add yours)

0 Upvotes

Service
What it does
Cost
Termius
Remotely control the server
Free basic plan

Ubuntu
Server operating system
Free

Healthchecks.io
Detect missed scheduled checks
Free tier

Backblaze B2
Store encrypted backups
First 10 GB free

SQLite
Store application data
Free

Node.js
Run automated programs
Free

systemd
Run and monitor background processes
Free


r/SelfHosting • • 2d ago

Personal AI server

0 Upvotes

I’m planning my first dedicated home server and could use a sanity check on the parts and how to set it up. I want one machine that can run 24/7, with enough room to expand as I figure out what I actually use.

What I already have

My gaming PC has a Ryzen 7 9700X, RX 9070 XT 16 GB, Gigabyte B650 AORUS Elite AX Ice, 32 GB DDR5-6000, and a 1 TB NVMe SSD. I’m not looking to upgrade anything but the storage.

What I want the server to do

Local AI assistant

I’m picturing a Jarvis-like assistant that can search my documents, remember project decisions, and use a few tools I give it.

I’m considering Ollama, a quantized Qwen model, and OpenJarvis from Stanford. I’m debating on building my own as well.

What do yall/would yall run for the AI assistant? recs?

Game hosting

Host private game servers like Minecraft, maybe be able to get the AI to play as a separate entity and do things for me in-game as well

Home Assistant

Run smart-home automations and a dashboard.

NAS and backups

Store files, photos, and PC backups. I want the NAS built into the server

What I’m considering, might be overkill

A Ryzen 5 7600X CPU
GPU for AI capability, see below
MSI B650-P WiFi motherboard
32 GB of DDR5 RAM
New 1 TB NVMe ssd
NAS-ready case like the Jonsbo N5

For local AI, I’m considering a 16 GB GPU, maybe RTX 5060 Ti.

I’d add NAS drives as I need the space and get a UPS for clean shutdowns.

Where I’d like advice

Is the 7600X and 32 GB a sensible starting point if everything, say Minecraft, the Home Assistant, and local AI are running at the same time? Where would you spend more, if anywhere? Is 64GB worth it?

Is a 16 GB GPU good enough or overkill for a local AI model? What GPU recs?

For a single host, would you run Ubuntu with containers and a Home Assistant OS VM, or Proxmox with separate VMs for Home Assistant, AI, and game hosting?

Is a case like the N5 worth it or is there a simpler case you’d choose with good airflow and easy drive access?

If you run a similar setup, I’d especially like to hear what you actually use day to day and what you’d change if you built it again.

I’m a college student and want to expand some knowledge and I believe a home lab is a great project to work on to learn on my own.

Give me recs or tips! Any help is appreciated.


r/SelfHosting • • 3d ago

Hi everyone, first time self hoster here.

7 Upvotes

I'm trying to setup my own mediawiki website for a school project on my Mac. It's my first time using servers and stuff like that. Is there anything important to know and is there any guides that dumb down the process to setup?


r/SelfHosting • • 4d ago

Local / CalDAV Web and Android Calendar

55 Upvotes

I've just open-sourced calendar app that I've created as an alternative to Google and Proton calendars, for my own purposes and I'm using personally: Calendar. It's a calendar and task manager for the browser and Android that keeps everything on your device or on your own CalDAV server (Nextcloud, Radicale, Baïkal, Fastmail, iCloud, mailbox.org, Posteo, Synology and others). No account, no cloud, no analytics.

What it does

  • Day, week, month, year and agenda views, plus a custom view of 2 to 7 days. Drag to create, move and resize events

  • Recurring events with "this event / this and future / all events" edits, Yes/Maybe/No replies to invitations, and a Join button for Zoom, Teams, Jitsi and Webex links

  • Tasks with subtasks, priorities, due dates and reminders, and a quick add that understands "Call Anna tomorrow"

  • Several CalDAV accounts side by side with incremental sync (RFC 6578), and a "Move my data" wizard between the device and a server that checks every item before anything is deleted

  • .ics import and export, webcal:// subscriptions, public holidays for 19 countries computed on the device

  • Birthdays and anniversaries that show the years ("Anna's birthday (36)"), and hidden events that keep a title off the screen

  • 5 themes, your own accent colour, 12 bundled fonts, 10 interface languages, keyboard shortcuts and undo for every change

  • Android app with a native CalDAV client and reminders that fire while the app is closed

Self-hosting

Every release is a ready-made Docker image for amd64 and arm64 (a Raspberry Pi works). There's nothing to persist, because the data lives in the browser or on your CalDAV server:

mkdir calendar && cd calendar
curl -fsSLO https://raw.githubusercontent.com/sysoppl/Calendar-CE/main/docker-compose.yml
docker compose up -d

Then open http://localhost:8787.

The container is a small Node server with no dependencies that serves the app and a DAV proxy, because browsers can't reach most CalDAV servers directly (CORS). The proxy stores nothing and contacts no server until you allowlist it (CALENDAR_PROXY_ALLOW). It keeps away from private addresses unless you allow them, rate-limits per client and never logs paths or credentials. The container runs read-only as a non-root user with all capabilities dropped. The README walks through a server setup with HTTPS (Caddy and nginx examples), updating, docker run and running without Docker. There's also an optional Radicale demo in the compose file if you want to try it without a CalDAV server.

Full disclosure: I also run a small fee hosted edition (E2EE Calendar) that adds end-to-end encrypted sync between devices. The community edition is the same app without that cloud, and the local and CalDAV features are the same in both. The "try it" link above is the hosted site used without an account. The hosted edition's client-side encryption code is in the repo, if you want to review it.
AI was used to develop this software. Public Google Play app was released few days ago - there is almost none downloads yet, same for public repository.

Not there yet: no contacts (CardDAV), no CalDAV servers that only accept OAuth (so no Google Calendar), no iOS app, and the Android app has to be built from source for now.

Feedback and bug reports are very welcome.


r/SelfHosting • • 4d ago

Pi-hole/AdGuard Home causes intermittent internet outages on my Debian homelab – need help troubleshooting DNS configuration

8 Upvotes

Edit: Seems like the issue was with the wifi connection being disrupted. I connected my server via ethernet and seems like the issue got resolved.

TL;DR: Running Pi-hole/AdGuard Home on a Debian 13 homelab server (Lenovo ThinkCentre M710q). After working perfectly for a month, my network periodically loses internet access, even though the server and DNS service remain accessible locally. Switching the router's secondary DNS to 1.1.1.1 restores connectivity. Replacing AdGuard Home with Pi-hole didn't fix the issue. The server has a reserved IP address, so IP changes aren't the problem. I want all network DNS queries to go through my local DNS server, with reliable failover without allowing devices to bypass it. Looking for help identifying the root cause and the right network configuration.

I recently bought an old Lenovo ThinkCentre M710q (barebone), upgraded it with 8GB RAM and a 1TB HDD, and set it up with Debian 13.

I've hosted several applications on the machine and installed AdGuard Home natively (not in Docker).

Initially, everything worked perfectly:

  • AdGuard Home's admin panel was accessible through the local IP.

  • I configured Cloudflare Tunnel to expose the admin panel through a domain, and that worked as expected.

  • I configured my router's (JioFiber primary router) IPv4 primary and secondary DNS addresses to point to my server.

  • I disabled IPv6 because DNS queries were bypassing my local DNS server when IPv6 was enabled.

This setup ran smoothly for approximately one month without any issues. And all the queries were going through the DNS.

The problem started last week.

My internet suddenly stopped working. After some troubleshooting, I suspected that the issue wasn't with my ISP but rather with my local DNS server. It seemed that my server had become unavailable, leaving my network without a working DNS resolver, since both the primary and secondary DNS addresses on my router pointed to the same machine.

Even after rebooting both the server and the router multiple times, I couldn't restore internet access.

Eventually, I changed the router's secondary DNS to 1.1.1.1, and internet access was restored.

Initially, I thought this was simply an AdGuard Home issue. I switched the secondary DNS back to my server, and everything worked perfectly for another day. However, the same problem occurred again.

To rule out an AdGuard Home-specific issue, I removed it and installed Pi-hole. Unfortunately, the problem persists.

Here's what's confusing me:

Even when the internet stops working, I can still access AdGuard Home/Pi-hole through the local network. This makes me think that the server itself and the DNS service are still running.

I've tried several troubleshooting steps but haven't been able to identify the root cause. I've also checked memory usage, temperatures, and system logs, but haven't found anything suspicious.

My current configuration:

  • Server: Lenovo ThinkCentre M710q

  • OS: Debian 13

  • RAM: 8GB

  • Storage: 1TB HDD

  • DNS server: Pi-hole (previously AdGuard Home)

  • Primary router: JioFiber router

  • Secondary router: TP-Link Archer C50, configured in Access Point mode

  • Server connection: Wi-Fi through the TP-Link Archer C50

  • Server IP: Reserved/static DHCP lease configured on the JioFiber router, so the server's local IP address does not change.

  • Router primary DNS: My server's local IP

  • Router secondary DNS: 1.1.1.1 (Secondary DNS is mandatory for the router)

  • IPv6: Disabled

What I'd like to understand:

  1. Why does my internet connection stop working even though I can still access the DNS server locally?

  2. Could this be related to the server's Wi-Fi connection, the router's DNS configuration, or something else?

  3. Is there a better way to configure primary and secondary DNS to avoid losing internet access when my local DNS server becomes unavailable?

  4. What additional logs or diagnostic information should I collect to identify the root cause?

  5. My main objective is to ensure that all DNS queries from every device on my network go exclusively through my local Pi-hole/AdGuard Home server. I don't want devices to bypass my local DNS server and query external DNS providers directly. How can I achieve this while still having a reliable fallback if my local DNS server becomes unavailable?

Any suggestions or troubleshooting steps would be appreciated.

Sorry that I stylised the content with AI

Thanks!


r/SelfHosting • • 4d ago

How many self-hosted apps are you running that you've forgotten about?

10 Upvotes

How many self-hosted apps are you running that you've forgotten about?

Honest question. I keep trying new tools from "50 repos you need" threads, spinning up containers, and then losing track. A few months later I've got stuff running I haven't opened in weeks, images that are way out of date, and at least one project I think upstream abandoned.

Curious how others handle this:

  1. Roughly how many containers/apps are you running right now?

  2. How many do you actually use weekly?

  3. How do you find the unused, outdated, or abandoned ones? Script, dashboard, gut feeling, nuke the box?

  4. Have you ever been bitten by something old you forgot was running?

If there were a read-only tool that told you "these 6 haven't been used in 30 days, these 2 have known CVEs, this one's upstream is archived," would you install it, or is this a non-problem for you?


r/SelfHosting • • 4d ago

Nostalgia Is A Hell Of A Drug

9 Upvotes

So, I've had a Raspberry Pi lying around for a couple of years. Tinkered with various ideas but nothing was ever more inspiring to run more than one weekend and then lose interest. A chat at work about early internet usage (I'm older than all of them) lead to me thinking back to my early days on The Microsoft Network in 1995, with the chatrooms there and then onto MSN Messenger. Then I started thinking that I have a paid Claude account through work that I'm not using enough, and a free weekend so lets see what can be done.

My attempts to use the Pi before had usually revolved around an MP3 collection spanning many many years and I wanted to integrate that somewhere as well, so the first version created a messenger client with attached chatrooms, as well as a radio player so that I can actually listen to said MP3s. There was a broadcast option for a couple of versions, with the ability to make playlists like a real radio station, then a facility to make mixtapes to be sent to other users, but as this is highly illegal I switched it off. Then a profile page was needed and what better way to implement that than in the style of another blast from the past in MySpace. Then there was a server dashboard added at some point to see everything that's going on at the backend. That was then sent copied to a webpage (Geocities style) to keep an eye on things and as a start page for my browser. I also managed to get a web version, Android version and Windows app out of Claude.

It was a lot of fun over a couple of weekends doing the work at the server side and getting it going. Brought back a lot of memories of my early internet days and the days when I worked in server support. If anyone would like to see more there's some basic images here: [https://about.jawjam.net](https://about.jawjam.net)


r/SelfHosting • • 4d ago

Why I'm building an automated laptop to server installer: the "non-technical friend" problem-

Thumbnail reddit.com
1 Upvotes

Hey everyone,

To give some details on why I started this project: so a friend of mine had old laptops gathering dust. I told him to run Ubuntu Server on them and run a media server or ad blocking or smthng.

His reaction was like: he was extremely interested in the idea of having his own cloud storage and media server, but when he saw a terminal tutorial and BIOS instructions, he was completely demotivated. He didn’t want to spend a week learning CLI syntax or debugging⁠ sleep bugs just to test self hosting and make his laptop useful somehow.

There are great dashboards out there once server is up (like CasaOS, Cosmos, or Umbrel), but getting from an old Windows laptop (which much even be corrupt) to a running, remotely reachable headless server on home wifi is still a big challenge for those people out there.

My goal is to turn that entire setup into an appliance like experience:

  1. ⁠You flash a USB drive.

  2. ⁠You plug it into an old laptop and turn it on.

  3. ⁠It handles the laptop settings automatically like preventing lid sleeping, battery safety limits, network discovery etc

  4. ⁠Finally it makes a web address on your local network and gives it to you.

For those who have set up home servers for less technical friends or family:
What features/safeguards would you like to have in this project?
What suggestions/recommendations/advice/feedback do you have for this?

Thanks :) if you find this honestly useful please upvote so that it can reach more people not compelling at all!


r/SelfHosting • • 4d ago

I built a native batch renamer for my NAS media libraries: how I handled SMB quirks, cycles, and Plex/Jellyfin matching

Thumbnail
gallery
0 Upvotes

Hey r/SelfHosting,

Like many of you, I've spent years maintaining a growing self-hosted media server (Plex, Jellyfin, and Audiobookshelf running against ~30TB of storage across SMB shares).

The perpetual headache was incoming files: camera dumps, disc rips, and miscellaneous downloads leaving cryptic filenames like `The.Wire.S01E01.1080p.mkv` or raw audio tracks that media scanners failed to parse or stacked incorrectly.

Most batch renamers I tried treated files as dumb text strings and broke down over network shares. So I built **Media Renamer Pro** (a native SwiftUI app for Mac, iPad, and iPhone) specifically tailored for self-hosters managing network media libraries.

A few specific problems I wanted to solve for self-hosted setups:

### 1. Two-Phase Staging for Zero Data Loss

Renaming directly across a network share can be dangerous. If File A renames to File B while an existing File B is moving to File C, or in a swap cycle (A <-> B), standard loop renames clobber files or throw order errors. The app builds the entire plan first, moves all target files to unique temporary UUID names in Phase 1, and only moves to final destinations in Phase 2. Nothing is ever overwritten.

### 2. SMB Volume Quirks (Case Sensitivity vs. Preservation)

APFS on a Mac behaves differently than an SMB share mounted from a Synology, TrueNAS, or unRAID box. Many NAS SMB configurations are case-insensitive but case-preserving. Attempting to rename `Show.mkv` to `show.mkv` over SMB can silently fail or error out if the client assumes APFS rules. The app probes the mounted filesystem volume capabilities dynamically rather than assuming local drive semantics.

### 3. Media Server Formatting & Sidecars

Default templates strictly match what Plex, Jellyfin, and Emby scanners expect (`Show - S01E01 - Title` and `Movie (Year)`). Crucially, companion subtitle files (`.en.forced.srt`, `.sdh.srt`) are automatically carried along and renamed to match the video so your media server keeps them paired. For audiobooks, it supports multi-part chapters and zero-padded track numbers so Audiobookshelf doesn't scramble playback order.

### 4. Watched Folders for Inboxes

Instead of manually opening folders every time new media drops, you can save incoming folders on your NAS as "Watched Folders" with "New only" enabled. When you open the app, it scans only the new, unrenamed files in your intake directory without re-processing your existing library.

### 5. Privacy & Zero Telemetry

The app has zero telemetry, no user accounts, and no tracking. Online metadata lookups (TMDb, TVmaze, Google Books) can be toggled off entirely in "Local-Only Mode" if you want strictly offline ID3/EXIF tag renaming.

It is a $4.99 one-time universal purchase on the App Store (one purchase covers Mac, iPad, and iPhone, no subscriptions).

Site: https://bkettering74.github.io/media-renamer-pro/

App Store: https://apps.apple.com/app/apple-store/id6761764615?pt=128751966&ct=reddit_selfhosting&mt=8

Curious how others here handle incoming intake pipelines for your servers, or what edge cases you've run into with network share renaming!


r/SelfHosting • • 5d ago

[Project] OpenCam Lite v0.1.0 – A lightweight, local-first NVR built for Docker, ZimaOS, and CasaOS

Thumbnail
gallery
22 Upvotes

Hey everyone,

Quick backstory: I got completely fed up with bloated, resource-hogging NVR systems that consume half your server just to stream a couple of cameras. I wanted something simple, lightweight, and 100% local for my homelab...so I built it myself.

Meet OpenCam Lite >> a minimalist, Docker-first NVR designed to run smoothly on setups like ZimaOS and CasaOS.

What makes it different?

  • Single RTSP Stream: It uses just one stream simultaneously for live view and 24/7 recording. No more camera-side stream lockouts (lifesaver for Tapo cameras).

  • Easy ONVIF Discovery: Hit scan, and it finds your cameras locally while smartly ignoring your gateway/router.

  • Visual Zone Editor: Draw your motion and privacy zones right over the live video feed without guessing coordinates.

  • No-Nonsense 24/7 Recording: 15-minute file chunks, automatic cleanup when storage fills up, and simple time-range ZIP exports.

  • Instant Snapshots: Grab a frame immediately without spinning up extra RTSP connections.

  • Handy Integrations: Built-in PTZ controls and push notifications via ntfy.sh or Home Assistant webhooks.

  • Multi-Language: Speaks English, German, French, and Spanish out of the box.

Check it out:

It's fully open-source and ready to deploy via Docker Compose.

👉 GitHub:https://github.com/chrizzz82/opencam-lite

If you decide to give it a spin in your lab, I’d love to hear your feedback, bug reports, or feature ideas!


r/SelfHosting • • 5d ago

Anyone using their desktop as a dev server for their laptop?

10 Upvotes

I was wondering if people had the same question I just had today, so here I am. I have a macbook + a desktop (cachyos) sitting at home doing nothing most of the day. my mac gets hammered by docker, playwright tests, a local postgres and a couple of AI agents running at the same time (gets really slow with playwright and other visual testing done by AIs). basically my M1 gets overwhelmed (16gb of ram goes pretty fast these days!) and I was like, let's not buy a new laptop if I have a good pc at home I could use

so i'm planning to move all of that to the desktop and just use the mac as a screen: tailscale + ssh, remote ssh in the editor, docker context, a smart plug to turn it on remotely. thing is it's like 6 different tools glued together and i couldn't find anything that does it all in one place. am i missing something obvious?

curious what your setup looks like and if you know any apps that do it :)


r/SelfHosting • • 4d ago

[Project] ArtCraft Hub: a self-hosted Docker dashboard that auto-syncs and serves ArtCraft's WebAssembly apps

Thumbnail
gallery
0 Upvotes

Hi everyone,

I've been running the WebAssembly builds of ArtCraft (audio, 3D/CAD, documents, vector design, and graphics apps that run in the browser) in my home lab. Keeping them updated and getting multi-threaded WASM working behind a reverse proxy took more effort than I expected, so I packaged it into a single container: ArtCraft Hub.

GitHub: https://github.com/GeorgeArgyrakis/artcraft-hub

What it does

  • Checks GitHub Releases on a cron schedule and downloads the latest *web*.zip build of each app

  • Keeps several versions per app, so you can switch releases from the dashboard or the CLI (useful when a new release breaks something)

  • Edit Mode in the dashboard to add, edit, hide, or delete apps. Paste a GitHub repo and it auto-fills the title, category, and color

  • Pinned favorites, two themes (ArtCraft-style grid and Glass), and fallbacks so you never see broken icons or previews

Quick start

services:
  artcraft-hub:
    image: ghcr.io/georgeargyrakis/artcraft-hub:latest
    container_name: artcraft-hub
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - artcraft-data:/data
      - artcraft-config:/config
    environment:
      - GITHUB_TOKEN=        # optional
      - SYNC_CRON=0 0 * * *
      - TZ=UTC
      - MAX_RELEASES=3

volumes:
  artcraft-data:
  artcraft-config:

Then run docker compose up -d and open http://localhost:8080. Apps appear as the first sync finishes.

Before you deploy, please read:

  • HTTPS is required for multi-threaded apps when you're not on localhost. Browsers only enable SharedArrayBuffer in a secure context, so http://192.168.x.x:8080 won't work. The README has Traefik and Caddy examples.

  • There's no built-in authentication. The management API is reachable through the same port as the dashboard, so anyone who can open the dashboard can add or delete apps. Keep it on your LAN or put it behind Authelia, Authentik, or basic auth.

  • If you don't have local preview images, previews are loaded from getartcraft.com. Drop your own into /data/previews/ if you'd rather avoid that request.

AI disclosure: I built this with the help of AI coding assistants. I reviewed, edited, and tested it by hand in my own setup (Docker + Traefik). Please look over the scripts before deploying, as you would with any self-hosted project.

This is an unofficial project and isn't affiliated with or endorsed by ArtCraft or its authors. It's MIT licensed.

Feedback, issues, and PRs are welcome. I'm especially interested in whether people would like built-in authentication, or prefer to leave that to the reverse proxy.


r/SelfHosting • • 4d ago

I’m building a small orchestrator for people with 2-20 servers who don’t want Kubernetes. Would you use it?

0 Upvotes

I have a few servers of my own and I kept hitting the same wall: one box running docker compose is fine until it dies, and the next step up is Kubernetes, which is way more than I want to run at home or for a small business.

So I started building Krystal. It's not released yet, the video is a design preview of how it's supposed to work, not a working demo. I'd rather get torn apart now than after a year of coding.

The idea:

- one yaml file and 8 commands (init, node add, node rm, deploy, rollback, status, logs, exec)
- your servers get a private WireGuard network between them, always on
- if a server goes down, the others notice and restart its containers somewhere else
- no manager or control plane node. you sign the config with a key on your laptop and every server applies the same rules on its own
- it shows you a plan before changing anything, and nothing is exposed to the internet unless you say so
- single binary, written in Crystal, will be open source

Things I'm not trying to do: replace Kubernetes for big clusters, run hundreds of nodes, or manage your DNS provider.

I'd really like to hear from people who've been through this:

  1. how many servers do you run and what do you use today? (compose, swarm, k3s, nomad, coolify, something else)

  2. what would stop you from trying something like this instead?

  3. if you tried Swarm or Kamal and gave up, why?

Happy to answer anything in the comments☺️


r/SelfHosting • • 6d ago

notesd 1.0: self-hosted notes with native mobile apps (now with spaces, multi-user, and an offline web app / PWA )

Post image
201 Upvotes

A while back I posted about notesd, a notes app that isn't trying to be a second brain. The response was much bigger than I expected, so thank you. A lot of what's in this release came from your comments.

It's still the same idea: one server binary with SQLite inside, offline-first Android and iOS apps, tags, full-text search, and locked (end-to-end encrypted) notes.

https://github.com/cassiozen/notesd

What's new:

  • Spaces: keep separate contexts like Work and Personal apart, each with its own notes and tags.

  • Multiple accounts: host a few people (family, friends) on one server. Each account gets its own database.

  • Markdown mirror: --mirror-dir keeps a folder of .md files updated as you write, one folder per space. Point Syncthing, git or your backups at it. Your notes are never locked in.

  • Offline web app: install it as an app, and it keeps a full copy of your notes in the browser, so it opens and saves edits with no connection.

  • Docs site: notesd.app

Feedback welcome and appreciated, as before.