/r/selfhosted

Photograph via snooOG

A place to share, discuss, discover, assist with, gain assistance for, and critique self-hosted alternatives to our favorite web apps, web services, and online tools.

Welcome to /r/SelfHosted!

 

Google Photos Mega Thread

 

While you're here, please Read This First

 

 

And why not Visit the Official Wiki Github?

 


 

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.

 

For Example

 

  • Service: Dropbox - Alternative: Nextcloud

  • Service: Google Reader - Alternative: Tiny Tiny RSS

  • Service: Blogger - Alternative: WordPress

 

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.


 

What Is SelfHosted, As it pertains to this subreddit?

 


 

The Rules

 


 

Read about our Chat Options

 


 

Related Subreddits

 

Useful Lists

Relevant Podcasts

  • Insight, information, and opinions
  • Relevant Interviews
  • Self-hosted tool debates

/r/selfhosted

420,413 Subscribers

0

Best OVH server for around 50-60$ a month?

Looking for a server that i can host off OVH for 50-60$ a month just to host a couple game servers for friends and use to mess around with from time to time.
Was looking at the KS-GAME server that features an i7 7700k and 64GB of ram for about 50$ a month it seems like a good deal but is there anything that i am missing that might be a little bit better for the same price or just a bit more?

2 Comments
2024/11/15
02:58 UTC

3

MinIO hosters who push backup files offsite, how did you implement this?

The last time I looked into MinIO, there was an option to automatically transfer files to a remote S3 storage. However, I want to do some operations first (encrypt locally) before it's transferred to AWS. I did not find a specification for hooks or plugins which would've been nice to have.

It does have Bucket Notification which can fire events at the Bucket or Object level and I could trigger a webhook, and I guess it is probably gonna need queues to be able to handle multiple files coming in at the same time, so I'm wondering how some of you implement encrypt-and-push pipelines like this, and whether something like this already exists before I reinvent the wheel.

3 Comments
2024/11/15
02:40 UTC

1

Looking for a photo library with folder structure browsing via the web app

I'm looking for a self hosted photo library with folder structure like browser option in it's web app, user definable folder permissions, and the ability to access the folders via SMB without causing an issue.

Synology photos shared space almost get's there, it has has the folder structure style, and I can do whatever I want via SMB without causing an issue. The two big issues:

  1. permissions control only goes 2 folder levels deep
  2. there's no way for end users to share or restrict access to their own folders on shared space since only users with "full access" not custom access, can set permissions control.

I've been looking at all the posts on the various popular options on here, but it's hard to really tell without trying a bunch of them out.

0 Comments
2024/11/15
02:24 UTC

1

Need help buying an AI module.

I've recently deployed Immich on my Raspberry Pi 5 and am absolutely loving it! Now, I’d like to add an AI module, similar to what the Raspberry Pi AI Kit offers, alongside my NVMe storage. I was surprised to see there are actually options to make this possible!

One product that caught my attention is Pimoroni's NVMe Base Duo for the Raspberry Pi 5, which should support both storage and an AI module. However, I'm having trouble finding an M.2-based AI module available in the UK that would work with this setup.

If anyone has recommendations or knows where I could find just the AI module, I’d really appreciate your help. Thanks in advance!

0 Comments
2024/11/15
02:11 UTC

0

In-Flight Entertainment for Captive Portal

I'm experimenting with a captive portal on my guest Wi-Fi network and I thought it might be fun to set up something like the airlines have, specifically something like Southwest where you log into their Wi-Fi and can watch movies and whatnot from your device. I did a bit of research and didn't see anything. A pre-made solution would be awesome, but I have a feeling that doesn't exist. Any suggestions would be great!

3 Comments
2024/11/15
02:02 UTC

3

What awesome services am I missing?

https://preview.redd.it/l5imwdz42z0e1.png?width=1908&format=png&auto=webp&s=3d12ead890da7466d640aceb9da35542c173c3cb

Help my humble setup out (only a year in)! What great services am I missing out on? Everything runs on a single proxmox machine with the exception of the backup server (for obvious reasons). Also, I'm not really a big media guy so I don't have a need for Plex or the arr's.

6 Comments
2024/11/15
01:55 UTC

0

Looking for name of an app - "self hosted steam"

A while back someone posted a project that was a self hosted steam type thing for DRM free installers. I remember that it had a somewhat vulgar name but then changed it to something else at the communities suggestion. Does anyone remember what the application was?

5 Comments
2024/11/15
01:23 UTC

0

Securing apps with Cloudflared

Posting here to get opinions on how secure this server set up is

I have Cloud Flared tunnels set up for 3 sub domains with https

https://chat.my-domain.net (Mattermost)

https://kwix.my-domain.net (Kwix)

https://nextcloud.my-domain.net (Nextcloud)

All hosted on one machine with 64 gb ram and 12 core processor. Each service is running in docker. The corresponding port is exposed on in Ubuntu firewall and on my home router.

Other than the memory consumption of running 3 separate tunnels along with the apps, is there any other concerns with this set up?

7 Comments
2024/11/15
00:26 UTC

3 Comments
2024/11/14
23:51 UTC

0

What is the best ffmpeg setting to encode video but without loosing quality and making is fast

2 Comments
2024/11/14
23:21 UTC

2

Network share mount in lxc for docker volumes issue

I’m fighting a knowledge gap that I can’t seem to fill. I have an SMB share from my home file server mounted into the Proxmox Linux container I have setup for Docker and Portainer. I used the guide here - https://forum.proxmox.com/threads/tutorial-unprivileged-lxcs-mount-cifs-shares.101795/.

I can read and write to the share without issue from within the Ubuntu OS of the LXC. I also create all the folders I need for docker containers from the command line so I know the folders exist and are ready before I start a stack deployment via Portainer.

When deploying images like Paperless or Immich I’m just passing a folder from the mounted share into the expected location in the stack config details (Eg: volumes: - /mnt/docker/paperless/data:/usr/src/paperless/data)

However, my deploys always fail. If I take the stack and swap the mounted folder location with a local folder in the OS, it works just fine.

I have had good deployment luck if I define my volumes like this, however it seems overly clunky:

volumes: data: driver: local driver_opts: type: none device: /mnt/docker/paperless/data o: bind

Any insights would be gladly appreciated. If I’m in the wrong sub, happy to know that as well. Thank you!

0 Comments
2024/11/14
23:19 UTC

6

SMS Viewer - for browser based reading of SMS backup XML file from "SMS Back & Restore"-App

6 Comments
2024/11/14
22:40 UTC

1

Help setting up tunnel between Sophos XG and OPNsense on VPS for homelab in student housing

Hey everyone,

I recently moved into student housing and am in the process of reconfiguring my homelab setup. I'm planning to segment my network with dedicated LAN ports on my firewall for different zones (DMZ, Wi-Fi, LAN, etc.).

I got a Sophos SG230 for free during my last internship and installed Sophos XG on it, as I’m already familiar with the OS. However, I’ve run into an issue: I can’t access the landlord’s router, so I’m unable to open ports to expose my services (Nextcloud, Jellyfin, etc.) for external access by friends and family.

To work around this, I purchased a VPS from Hetzner and installed OPNsense on it, with the goal of setting up a tunnel between my local network and the VPS. My challenge is connecting the Sophos XG firewall to OPNsense. Sophos only supports a few site-to-site options: IPsec, Amazon VPC, and SSL VPN.

I know I could set up a VM on my lab, create a WireGuard tunnel, and use VLANs to separate the VM from the rest of the DMZ. A buddy of mine is doing this, but I’d really prefer to manage everything directly through the firewall if possible.

Most guides I’ve found online focus on setting up with PFsense, but OPNsense feels quite different, and I’m still figuring it out. That said, I chose OPNsense because I wanted to try something new with this VPS setup.

If anyone has experience with a similar setup, I’d really appreciate some guidance. Any tips on IPsec configuration between Sophos XG and OPNsense or other suggestions would be super helpful. Thanks in advance!

0 Comments
2024/11/14
22:39 UTC

1

Dockerized collection cataloging tool

I had a relative pass and have inherited a sizeable amount of their collectibles, so now I have this task of cataloging all the items. I was wondering if anyone knows of a self-hostable collection software. I've looked into Omeka S, but this is a bit extra. I was interested in something similar to this:

https://github.com/Sam-Marshall/Collectr

Except I want it to be already-Dockerized so I can just throw a compose file into Portainer and be good to go.

All I need it to be able to do is: Create entries, tag them, create descriptions and upload images.

1 Comment
2024/11/14
22:36 UTC

1

Confused about a part of implementing Filebrowser

firstly, if this is posted in the wrong place i apologize.

i'm relatively new to docker, and i'm trying to install filebrowser so i can access my files remotely and so my partner can upload files to our server for back up and access as well. but one part is something i've never had to do before... the instructions say i need to create "filebrowser.db" and "settings.json" files or else it'll just create directories and throw errors.

how do i create those files?

below is the docker compose i have so far.

any help would be appreciated. again, if this isn't the right place to ask, please let me know.

filebrowser:
    image: filebrowser/filebrowser:latest
    container_name: filebrowser
    network_mode: service:gluetun
    volumes:
      - C:\Docker Stacks\Beta Stack\filebrowser/appdata:/config
      - E:\Media:/media #Change to match your directory
      - E:\syd Files:/sydfiles
      - E:\Backups:/backups
      - C:\Docker Stacks\Beta Stack\filebrowser/filebrowser.db:/database/filebrowser.db #Change to match your directory
      - C:\Docker Stacks\Beta Stack\filebrowser/settings.json:/config/settings.json #Change to match your directory
    environment:
      - PUID=$(id -u)
      - PGID=$(id -g)
    ports:
      - 8095:8095 #Change the port if needed
    depends_on:
     - gluetun
    restart: unless-stopped    
5 Comments
2024/11/14
22:35 UTC

3

Open Source Alternatives to Nevaya for Hotels/Airbnbs with Chromecast Functionality

I'm currently exploring options to set up smart solutions for a hotel/Airbnb environment. Specifically, I'm looking for open-source alternatives to something like Nevaya, focusing on having Chromecast functionalities for streaming content to TVs.

Ideally, I'm looking for a system that:

  • Supports Chromecast or similar casting functionalities.
  • Is open-source and self-hosted.

I've already considered using Home Assistant and openHAB, but I'm curious if there are other platforms that might be a better fit, especially when it comes to handling Chromecast and guest room automation.

0 Comments
2024/11/14
22:34 UTC

4

Advice on getting started with self-hosting

Dear self-hosters,

I need your help, your ideas and your advice.

I'm a student, moved into my own apartment a few months ago and am just starting to play around with the topic of Homelab. I have now ordered a small server on offer (Blackview MP80, Intel 12th N97, 16GB LPDDR5, 512GB M.2 SSD) and also own 3 Raspberry Pis. I was planning to set up a small Proxmox cluster with these (if possible). However, the core of the Homelab will be the newly ordered server, as it is very quiet.

I currently have a cloud server and 2 storage boxes at Hetzner. The plan was to move the services that are currently running on the root server to the Homelab. These are primarily:

-Plex -AdGuard Home -Tailscale -Immich

That shouldn't be a problem.

In addition, I would like to host a few other things. How do you do this with critical things like Bitwarden, etc.? Do you host this yourself or is it too dangerous?

I'm still thinking about which cloud I should host. Do you have any suggestions? Nextcloud has always been very slow for me, which is why I don't want to use it. What have you had good experiences with? I don't need a complete suite, just the ability to synchronize files to a cloud, access them via apps and the web and share things. But no Office solution or calendar or anything like that.

Another problem is storage. Currently, all media for Plex is stored in the storage boxes at Hetzner. These are 1TB in size and integrated via SMB. My problem is that the local storage solution in the Homelab would have to be very quiet, otherwise it would be a nuisance in the living room. A NAS with several HDDs would be too loud. We don't have a basement. What could an alternative storage solution look like, especially with regard to virtual machines with Proxmox?

The server I have now ordered has two LAN ports. Can I somehow use a Pi as storage and access everything via the network?

What is a good backup strategy in my scenario?

And the last question: How do you manage access? Reverse proxy or VPN? OpenVPN or Wireguard?

Sorry for all the questions - I'm really looking forward to your answers and would be infinitely grateful!

Best regards :)

1 Comment
2024/11/14
22:29 UTC

1

How to Setup Dokploy Self-Hosting on A Hetzner Server

0 Comments
2024/11/14
21:26 UTC

31

Made my Dashy dashboard & Uptime Kuma status page look like old-school terminals

Hey y'all. I made some retro terminal themes for Dashy and Uptime Kuma that I wanted to share.

The Dashy theme has that classic green terminal feel. For Uptime Kuma, I made a similar theme with a compact layout and some glowing status indicators. Everything's mobile-friendly and easy to set up.

Check out some screenshots:

- Dashy Dashboard

I didn't go all the way in making a theme, but added custom CSS to my config.

- Uptime Kuma Status Page

Custom CSS added to the Uptime Kuma Status Page

- Uptime Kuma Dashboard

Things greyed out aren't always on or I was testing

Everything's customizable through CSS variables if you want to tweak colors or layouts. I've included setup instructions in the repo.

Grab it here if you want to try it out, Terminal Zero.

4 Comments
2024/11/14
21:03 UTC

8

Purchasing HDDs

Hi; with Black Friday coming up with some discounts (hopefully), I wanted to purchase additional HDD storage for Plex.

I presently have a Ubuntu VM on Proxmox, running Plex / Emby, on a measly 500 GB SSD.

Question is this: Do I need to pick up a 7200 rpm HDD or would 5400 suffice for this purpose.

At max; I can expect 2 simultaneous streams accessing said media.

Any help / guidance / recommendation would be appreciated.

13 Comments
2024/11/14
20:47 UTC

1

Problems with Jellyfin

Hi folks,

I encountered the following problem:

[21:40:38] [ERR] [12] Emby.Server.Implementations.IO.LibraryMonitor: Error in Directory watcher for: /data/Filme
System.IO.IOException: The configured user limit (177758) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.

Since I do not changed anything related to this, I checked the value inside the container:

root@3cb5da0b89d0:/etc/sysctl.d# sysctl fs.inotify.max_user_watches
fs.inotify.max_user_watches = 177758

Ok, I created the 61-max-user-watches.conf file

fs.inotify.max_user_watches=3276800

outside the container and mounted it

volumes:
- ./61-max-user-watches.conf:/etc/sysctl.d/61-max-user-watches.conf

Buuut it did not change a thing - I guess because mounting happens after Kernel parameters?

sysctl -p 

also does not change a thing.

Any ideas?

6 Comments
2024/11/14
20:46 UTC

0

Best vps specs for ffmpeg

I need to burn subtitles into video because I want to watch them on older devices I was trying digitalocean droplet with 4gb ram 2 cpu with 24$ months but it was struggling 12 fps and 0.3 speed which is very slow. Contabo is 5$ month what is the best one?

4 Comments
2024/11/14
20:22 UTC

153

Had a pretty unexpected and unique use for my Server today!

Since I am particularly careful about where I give out my phone number, I don't receive any spam calls, even though I've had the same number for about 10 years now. So you can imagine my surprise when I received a call from Intel today!

The person on the phone had a thick indian accent even though he introduced himself as "generic english name" and told me that 4 international IP addresses are accessing my PC....

Since I had nothing important to do and I was curious I thought I'd play along and see where this takes me. So I excused myself because "I had to answer the door". I quickly made a new snapshot of my tiny11 VM (debloated windows 11), reset firefox, deleted my network shares and disconnected my microsoft account.

Back on the phone I played along when I was told to enter "eventvwr" under win+R in minute detail: "You see the control key on the bottom left? What key is right next to it? Yes the windows key! Now press the windows key and R as in Richard at the same time". The scammer made me navigate to the windows event log and asked me how many errors I see. "17500!!" I answered in shock at this huge number!

Now that I realized how serious the situation was I was ready to get forwarded to a support technician... (I am not quite sure if I was actually forwarded to another person or if the scammer just faked a different accent). This new support tech made me visit www.support.me and explained that the security warning that was displayed when visiting this website was caused by Firefox. I learned that Firefox is not updated as frequently as google chrome which is why these errors are common. After skipping the security warning I entered a pin to download some kind of remote desktop client via that site.

Then something weird happened. I was told to right click the desktop and navigate to display options (not sure, I am using german windows). There he told me to click a button to change the theme but he kept shaking the mouse so I wasnt able to click it. "Ahh, you see the problem?" he asked and somewhat confused I agreed... This was executed so poorly I honestly was at a loss!

The next step to solve my PCs issues was to install some kind of software but I am not entirely sure what it was. He transferred an installer file to my desktop that was called something along the lines of "Microsoft support tool". Even though he had full remote access he made me do all the clicking "accept", "ok", "allow" maybe to hide the fact that he was able to control my mouse and keyboard all along. During the install process I had to set and confirm a password he told me. I am still annoyed with myself for not keeping a copy of that installer... During the whole process I had two "disconnects from the internet" to make some coffee since it was still pretty early for me....

After the software was installed he expected a new service to show up in my taskbar which obviously was not the case. Since I still dont know what that program was I honestly have no idea why it did not work but this obviously worked out in my favor. He instructed me to look for the program under the start menu and obviously he did not know what classic shell is, since he kept telling me that I am using Windows Vista, which might be the reason the support tool wasnt working... After we werent able to find the newly installed software he was clearly at a loss. I guess his script doesnt have instructions on what to do in that case because he had to call a colleague over to help him. This was when he started breaking character, talking to his colleague in indian. After trying to reinstall the software 3 times he asked me if I was using Virtual Box and since a whole hour had already passed I told him that I had fun and wished him a nice day.

I was very surprised when he acted very chill upon this revelation. He insisted that he knew all along that I messing with him and claimed that he is getting paid anyway. He wished me a nice day too and this concluded my first interaction with a tech support scammer.

In the end this was a convenient way for me to practice my spoken english since I hardly ever get a chance to talk in english. What I am wondering is why they are calling people in german speaking countries since most older people who are likely to fall for their scams dont speak english well enough to get through the whole script.

Does anyone know what the software was that he was trying to install? I sadly already restored the snapshot so I cant check.

28 Comments
2024/11/14
20:09 UTC

5

DecentRSS: a (supposed to be) decentralized RSS proxy

DecentRSS diagram

Hi,

One of most frustrating issue self-hosting feed reader (I'm using Miniflux) is the feed crawling getting blocked by anti bot/crawler. So I quickly created my own solution using Go that (supposed to) act as Feed Proxy like RSSHub/RSSbridge but with additional ways to add the contents in case of blockade.

  • I want to RSS-ify as much as my content consumption as possible
  • Using RSS-bridge or RSSHub (I also own private instance with custom routes) often get blocked by anti-crawler mechanism (e.g. Cloudflare)
  • My Miniflux instance also often get blocked when directly using the website's feeds (e.g. bad VM's IP reputation)
  • I need more ways to add contents to the feed reader to circumvent the various blocking

This project is still in very early stage, so far I only have implemented GET & POST API for the feeds. But this is currently enough for my use case:

  • Changed the feed URL in Miniflux to point to DecentRSS
  • I have a script in my laptop to upload the RSS feed file to DecentRSS
    • Sometimes I use curl sometimes I just download it using browser
    • My laptop is pretty mobile and change IP address often, less chance of being blocked
    • This script can be potentially developed into DecenRSS CLI with scraping logic and can send the result to the server counterpart

Planned features:

  • Automatically fetch and save feeds in the storage just by GET-ing it
  • Use another DecentRSS instances as fallback

Sorry for the lack of better naming & description, you can check the project here:

https://github.com/chickenzord/decentrss

Docker image and example compose file are available if you want to give it a try. Please let me know what you think about this project, constructive feedback are welcome

0 Comments
2024/11/14
20:07 UTC

5

Google Sheets alternative with a few specific features

I'm currently using Google Sheets to keep track of various open source OpenID Connect servers here: https://docs.google.com/spreadsheets/d/16Ya5KsmEpczTmoTk5J-1e2MOyuUqXIiPuj7rPfPrHAI

I render that sheet to Markdown for display here: https://github.com/lastlogin-net/obligator?tab=readme-ov-file#comparison-is-the-thief-of-joy

I'd like to replace this setup with a self-hosted alternative, and I'm trying to talk myself out of writing my own. I've identified the following features I'm looking for:

  • Simple - I want to be able to fork the project if upstream goes a direction I don't like
  • Option for strict types on columns, with validation
  • Asthetic and customizable HTML rendering of the data
  • Embeddable in other web pages with iframes
  • Focus on public sheets. Ideally each sheet could have a small number of editors, but sheets could (optionally) be viewed publicly. Public comments would be nice too (after logging in).
  • Endpoints for returning the data in common formats like CSV. For example, if I had a sheet at https://example.com/sheet1/, I'd want to be able to hit https://example.com/sheet1/data.csv, https://example.com/sheet1/data.json, etc

I'm not sure I need formulas at all, but custom types/validators might be useful.

0 Comments
2024/11/14
19:14 UTC

95

Reflecting about TTeck and how to preserve online legacy

Hello guys, I was really sad and shocked to hear about TTeck. Maybe I was living under a rock these past few weeks but I had no idea he was even sick. RIP and condolences to all who knew him.

His passing did bring to the surface of my mind something I had been thinking about ever since I registered my first domain in order to host my own email... (I've def procrastinated on it...) how do we ensure a proper digital "estate plan" to make sure our family members can sort thru (or even take over if so desired) the technical and digital stuff we leave behind?

Estate planning in general is something no one likes think about, but I think the more into selfhosting we dive, the more we really need a plan for when the unthinkable happens, that way we ensure any data we want make sure "lives on" and is passed onto our relatives is not lost, and whomever is managing our last affairs can carry out instructions to preserve things.

For the longest time, I've thought about setting something like Hereditas up, so that my somewhat technical relatives can get access to my digital stuff and carry out my wishes should I ever kick the bucket... but I haven't

But I was wondering what recs, tools, or plans others on here had in place for this kinda thing?

PS: This goes without saying but I'll say it anyway as someone who had to deal with the unexpected death of a close family member: it's never too early to do some estate planning (for you or your relatives): look up the laws in your jurisdiction and have a plan (a will, healthcare proxy, etc) for both your tangible assets, and your digital assets.

11 Comments
2024/11/14
19:06 UTC

5

Why is Vaultwarden not working with Tailscale?

I used to run everything through Cloudflare tunnels, but just switched to Tailscale and Swag (with A records in the DNS settings in Cloudflare so I can access multiple docker containers on my Unraid server). All url's remained the same.

Everything works fine with Tailscale, but as soon as I disconnect wifi on my Android phone I am unable to login to Bitwarden (self hosted). When trying to login it's infinitely loading. Bitwarden is the only one that doesn't work. I can reach vaultwarden.mydomain.com fine from the web...

Anyone have an idea?

13 Comments
2024/11/14
19:01 UTC

1

best router

Hi, i'm changing my router, it always gives me many problems and i'm locking for a new one, i've seen various Asus, AMV, or TP-link.
I've FTTH at 2.5Gbps and i've a switch with 8 port at 2.5Gbps, some devices has the 2.5Gbps other only the 1Gbps.

What router would you suggest me or what do you use.

Thanks

1 Comment
2024/11/14
18:53 UTC

0

Proxmox VE: Safely disable High Availability auto-reboots

0 Comments
2024/11/14
18:32 UTC

Back To Top