Selfhosted

54680 readers
740 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
1
 
 

Due to the large number of reports we've received about recent posts, we've added Rule 7 stating "No low-effort posts. This is subjective and will largely be determined by the community member reports."

In general, we allow a post's fate to be determined by the amount of downvotes it receives. Sometimes, a post is so offensive to the community that removal seems appropriate. This new rule now allows such action to be taken.

We expect to fine-tune this approach as time goes on. Your patience is appreciated.

2
 
 

Hello everyone! Mods here 😊

Tell us, what services do you selfhost? Extra points for selfhosted hardware infrastructure.

Feel free to take it as a chance to present yourself to the community!

🦎

3
 
 
4
5
 
 

I've got a server running Debian and I've previously borrowed a wildlife cam for my garden. It activates on motion and records, has night vision, etc..

That said the only way to get the footage is to go out there and pull the SD card.

Is there a self-hosted approach to this? I don't know what weather-proof camera setup people like for this sort of thing.

6
 
 

I recently noticed that htop displays a much lower 'memory in use' number than free -h, top, or fastfetch on my Ubuntu 25.04 server.

I am using ZFS on this server and I've read that ZFS will use a lot of RAM. I also read a forum where someone commented that htop doesn't show caching used by the kernel but I'm not sure how to confirm ZFS is what's causing the discrepancy.

I'm also running a bunch of docker containers and am concerned about stability since I don't know what number I should be looking at. I either have a usable ~22GB of available memory left, ~4GB, or ~1GB depending on what tool I'm using. Is htop the better metric to use when my concern is available memory for new docker containers or are the other tools better?

Server Memory Usage:

  • htop = 8.35G / 30.6G
  • free -h =
               total        used        free      shared  buff/cache   available
Mem:            30Gi        26Gi       1.3Gi       730Mi       4.2Gi       4.0Gi
  • top = MiB Mem : 31317.8 total, 1241.8 free, 27297.2 used, 4355.9 buff/cache
  • fastfetch = 26.54GiB / 30.6GiB

EDIT:

Answer

My Results

tldr: all the tools are showing correct numbers. Htop seems to be ignoring ZFS cache. For the purposes of ensuring there is enough RAM for more docker containers in the future, htop seems to be the tool that shows the most useful number with my setup.

7
 
 

I'm curious if anyone has had much luck leveraging older AMD hardware to use ROCm, I have an 6700 xt that I've just begun inquiring about, and it seems it falls outside of official support.

Right now I intend to pass it through to my Debian Docker VM to support transcoding in some containers in addition to machine learning applications.

8
49
submitted 18 hours ago* (last edited 18 hours ago) by Lumisal@lemmy.world to c/selfhosted@lemmy.world
 
 

Basically, I want to make one for some multiplayer games out there (along with Stoat communities, or something similar - what do y'all recommend? Bonus if it has voice chat).

What would I need, and how can I set this up safely without having my own network hacked beyond comprehension? I could do it off site from home too if that's better.

I have a Raspberry Pi 4gb, but also an old DDR3 16gb desktop with a PCI network card available if that's recommended.

9
 
 

Does anyone have a suggestion for photo notes? By this I mean, we use our cameras for actual photos but also quick pictures for products, model numbers, passwords...

I'm looking for a separate app to take pictures so my random pictures of product tags are separated and don't show up in my immich memories

Any suggestions?

10
 
 

Linux installs fast. Then you spend the next hour doing the same boring ritual: browser, codecs, media tools, chat apps, dev tools, fonts, utilities… all via tabs, notes, and half-forgotten package names.

So I built LinuxMate: a free, open-source helper that generates a clean “get me productive” install script from a checklist. Basically Ninite, but for Linux, and without the “sign in to continue existing” vibes.

  • Pick apps/tools
  • Choose your distro / package manager
  • Get a reproducible script
  • Run it and move on with your life

Live demo: https://www.allroundwebsite.com/linuxmate/ Repo: https://github.com/Henkster72/LinuxMate Blog (my reasoning / background): https://www.allroundwebsite.com/blog/bye-windows-hello-linux-and-linuxmate/

If you’ve got strong opinions (the useful kind): distro support, package picks, safer defaults, or edge cases, I’m collecting feedback.

11
29
submitted 22 hours ago* (last edited 22 hours ago) by tserts@lemmy.tserts.com to c/selfhosted@lemmy.world
 
 

Lets hope this works, I am posting from my new instance, which has some teething issues, so if you see this it is a small victory...

I must fix some issues on my lemmy instance before I go insane. The setup is pretty simple (or so I thought), proxmox > ct with docker lemmy no outside connection, and another ct with docker npm proxying for it.

  1. There is this deal breaking issue: on my local posts (the federated content seems to work) when I browse a community, the image posts are not showing the thumb, which expands if you click on it, istead they are shown as "link" and when I click on the black icon with the square with the arrow the image opens full screen on the window (it opens the image link). I think I have verified that the issue is that lemmy sets my image posts as link posts, there are no errors and the html shows no missing thumb. All tests show that my images get processed as they should, but in the end the post is "marked" as a link and it shows the square with the arrow.

  2. Federation is also hit or miss, I get content, upvotes, posts, I can search and browse instances BUT some communites (random, even from the same instance) stay pending instead of joined (like this community).

  3. Finally, I cannot find my instance searching from other instances, even though my instance is in their lists.

Can someone who has made nginx proxy manager on a separate server in the network give me some pointers?

I have done so many changes, tried to use nginx locally on the same CT (lemmy <> nginx <> npm) got to about the same state, wasted hours with the AI taking for a ride down "Hack-Town", I am about to call it quits.

Here are the configs:

root@xx:/opt/lemmy# cat docker-compose.yml

networks:
  # This stays internal for DB safety
  lemmyinternal:
    driver: bridge
    internal: true
  # We use the default bridge for everything that needs internet/DNS
  default:
    driver: bridge
  lemmyexternal:

services:
  lemmy:
    image: dessalines/lemmy:0.19.15
    networks:
      - lemmyinternal
      - default # Added to allow federation/DNS/Pictrs access
    ports:
      - 8536:8536
    restart: always
    environment:
      - RUST_LOG="warn,lemmy_server=info,lemmy_api=info,lemmy_api_common=info,lemmy_api_crud=info,lemmy_apub=info,lemmy_db_schema=info,lemmy_db_views=info,lemmy_db_views_actor=info,lemmy_db_views_moderator=info,lemmy_routes=info,lemmy_utils=info,lemmy_websocket=info"
      - RUST_BACKTRACE=1
      #
***
FIXES START HERE
***
      - LEMMY_HOSTNAME=lemmy.tserts.com
      - LEMMY_EXTERNAL_HOST=lemmy.tserts.com
      - LEMMY_HTTPS=true # Tells backend to generate https:// links for the UI
      #
***
FIXES END HERE
***
    volumes:
      - /opt/lemmy/lemmy.hjson:/config/config.hjson
    depends_on:
      - postgres
      - pictrs

  lemmy-ui:
    image: dessalines/lemmy-ui:0.19.15
    networks:
      - lemmyinternal
      - default # Added so it can resolve 'lemmy' container via DNS
    ports:
      - 1236:1234
    environment:
      - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8536
      #
***
FIXES START HERE
***
      - LEMMY_UI_LEMMY_EXTERNAL_HOST=lemmy.tserts.com # Removed IP to stop CORS errors
      - LEMMY_UI_HTTPS=true # Matches your NPM SSL setup
      - LEMMY_HTTPS=true
      #
***
FIXES END HERE
***
    depends_on:
      - lemmy
    restart: always

  pictrs:
    image: asonix/pictrs:0.5.0
    networks:
      - lemmyinternal
      - default # Critical for downloading external images
    hostname: pictrs
    #environment:
    user: 991:991
    volumes:
      - /opt/lemmy/volumes/pictrs:/mnt
    restart: always

  postgres:
    image: postgres:15-alpine
    networks:
      - lemmyinternal
    hostname: postgres
    # No changes needed here, internal is fine for DB
    environment:
      - POSTGRES_USER=xx
      - POSTGRES_PASSWORD=xxx
      - POSTGRES_DB=xx
    volumes:
      - /opt/lemmy/volumes/postgres:/var/lib/postgresql/data
    restart: always

root@xx:/opt/lemmy# cat lemmy.hjson

{
  # for more info about the config, check out the documentation
  # https://join-lemmy.org/docs/en/administration/configuration.html

  # only few config options are covered in this example config


  # the domain name of your instance (eg "lemmy.ml" or "fernchat.esotericmonkey.com")
  hostname: "lemmy.tserts.com"
  # address where lemmy should listen for incoming requests
  bind: "0.0.0.0"
  # port where lemmy should listen for incoming requests
  port: 8536
  # Whether the site is available over TLS. Needs to be true for federation to work.
  tls_enabled: true

  # pictrs host
  pictrs: {
    url: "http://pictrs:8080/"
    # api_key: "API_KEY"
  }

  # settings related to the postgresql database
  database: {
    # name of the postgres database for lemmy
    database: "xx"
    # username to connect to postgres
    user: "xx"
    # password to connect to postgres
    password: "xx"
    # host where postgres is running. This needs to match the postgres hostname in the portainer stack
    host: "postgres"
    # port where postgres can be accessed
    port: 5432
    # maximum number of active sql connections
    pool_size: 5
  }


# See the documentation for available config fields and descriptions:
# https://join-lemmy.org/docs/en/administration/configuration.html
  federation: {
  hostname: "lemmy.tserts.com"
  # allowed_instances: <lemmy_ml>
}

  email: {
    smtp_server: "xx"
    smtp_login: "xx"
    smtp_password: "xx"
    smtp_from_address: "xx"
    tls_type: "starttls"
  }
}

Here is npm advanced tab, websockets are on and ssl is also setup right.

# Handle ActivityPub/Federation traffic
location ~ ^/(u|c|post|comment|nodeinfo|explore) {
    set $proxytarget "http://10.0.0.227:1236/"; # Default to UI
    
    if ($http_accept ~* "application/(activity|ld)\+json") {
        set $proxytarget "http://10.0.0.227:8536/"; # Send to Backend
    }

    proxy_pass $proxytarget;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

# Standard Root Location
location / {
    proxy_pass http://10.0.0.227:1236/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}

# API and Pictrs
location /api/ {
    proxy_pass http://10.0.0.227:8536/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}

location /pictrs/ {
    proxy_pass http://10.0.0.227:8536/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
}

Help me get my sleep back. ___

12
 
 

See the post in the link for the latest details. As of me making this post

Due to an error during an organization migration, we have temporarily lost control of the bentopdf namespace on Docker Hub. The bentopdf username/namespace may currently be in a released state, meaning it could potentially be registered by a third party.

13
 
 

Inspired by nitter.

14
 
 

Hi everyone, I’m running a Proxmox server with a Docker LXC container and want to set up a music server. I’ve heard about many services, but I’m not sure which one fits my needs best. My goals:

A program that lets me play music with many client apps, ideally with offline playback for some tracks.

A tool that helps me discover and download music, similar to how I use Deluge, Prowlarr, and SABnzbd for my movie server.

A service that recommends music based on my taste and playlists, like Spotify does. This is especially important for me because I’m not very creative with my playlists—they tend to be short and boring.

I want to share the server with my girlfriend, who uses Apple devices, so the experience should be as smooth as Spotify for her.

What self-hosted music servers do you use in your homelabs? Are there any tools that can analyze my existing playlists and suggest similar music? Do you have any tutorials, blog posts, or Docker Compose files for easy setup?

I’m really excited to hear what you’re using and what you recommend!

15
 
 

Does anyone have a suggestion for photo notes? By this I mean, we use our cameras for actual photos but also quick pictures for products, model numbers, passwords...

I'm looking for a separate app to take pictures so my random pictures of product tags are separated and don't show up in my immich memories

Any suggestions?

16
 
 

Hi everyone, I’ve recently taken an interest in self-hosted solutions for document management and budgeting, specifically Paperless-ngx, Firefly III, and n8n. A bit about me: I run a Proxmox server with a freshly set up Docker LXC container. I’m still quite new to all this, but i am infected with the homelab fever.

After spending hours on Google, I’ve come across a few services that caught my eye:

Paperless-ngx: A tool for scanning and organizing all my receipts, invoices, and documents in a searchable database.

Firefly III: A budgeting app with lots of cool features. My goal is to use it to get a better overview of my finances.

n8n: To automate the process, because I know I’m lazy and won’t keep up with manual data entry for long.

My idea: I want to scan receipts and invoices, store them in Paperless-ngx, use OCR to extract the text, total amount, and maybe even individual items, and then pass that data to Firefly III via n8n.

My questions:

Does anyone have experience with these tools? Is this a good approach, or should I consider other software?

I’ve seen that n8n is getting a lot of hype, but also has some critical, glaring issues. Is it still a good choice for this kind of automation?

Are there any tutorials or blog posts out there that cover a similar setup? I haven’t found much online. Are there any additional Docker containers I should consider, like a dedicated AI container or a special database? I have only a weak Intel I5 7th Gen PC.

I’d love to hear your thoughts, experiences, or any concerns you might have about this project. If you know someone who has done something similar, or if there’s a hidden tutorial I’ve missed, please let me know!

17
18
 
 

hi peeps.

Im early on my selfhosting journey and managed to setup some things as a test in docker. the main service im looking to run is ERPNext. after a while I got it up and running so now I want to back this up including all the customization I did in the app.

where to start with this? any intuitive guide?

19
 
 

Posting in case this helps anyone in the future. Not particularly difficult, I was just having this issue recently, and took some time today to work around it.

Lately, my Calibre-Web-Automated container will update eBook metadata, but will not update the book cover. I was never able to find an error, and using the CLI cover-enforce command didn't do anything either. I'm pretty sure that's all the GUI is doing, so not a surprise the CLI didn't work. Instead, it will insert a generic cover. For some lesser-known books, where it cannot find an appropriate cover, this procedure will also help.

First, ID the cover you want. If you have to manually scan the cover and get it into your container, you'll need to sort that out yourself. I was able to find decent enough covers on DDG image search. From there, drop into a shell in the CWA container, and run the following commands (Substitute variables below to meet your needs):

cd /calibre-library/${AUTHOR}/${BOOK_TITLE}  
curl "${IMAGE_URL}" > cover.jpg  
ebook-meta "${EBOOK_FILE}" --cover cover.jpg  

This assumes the image is a JPEG. Sub as necessary. Some that I found were WEBP files, and I wasn't sure they would work properly with ebook readers, so I just stuck with good old JPEG. Also, I figured the naming and placement of the cover file would scale fine for my whole library where needed. Adjust as you see fit.

ETA: Corrected a variable

20
 
 

I am looking at updating my email stack after a number of years and am wondering what to do for anti-spam. Is Spamassassin still the best option, or is there something better nowadays?

21
 
 

I've been running nextcloud for my family and some projects about two years now and while it's allright when it's not breaking, I've had it break twice during upgrades and once outside of an upgrade. Getting back to running again during upgrades may require that I have two instances running one after the other - which is just too much to deal with for me, I'm anxious everytime a new update arrives, even though my system does backups and updates mostly automatic (yunohost).

(I run Nixos/Guix on my own laptop and get shivers anytime I have to deal with around in debian/android/anything-unlike-nixos-or-guix. And, yes, last I checked even Nixos struggles with nextcloud - which speaks volumes about it. I run yunohost on the server because it did DNS automagically)

So my question is, what could I change to that has:

  • high reproducibility/easy maintenance/easy upgrades.
  • file sync
  • file sharing between users
  • some kind of direct link file sharing

Nice to have:

  • collaboration of some sort
  • caldav (calendar and tasks)
  • carddav (contacts)

Grateful for any and all inputs here. :)

22
 
 

Hi everyone. Hope you are well. BentoPDF recently hit 10k stars on Github in just under 3 months of launch and I am very grateful to the community! ❤️

BentoPDF's new version has been released. And I had implemented some of the requested feature here such as: Digital Signing of PDFs and Validation along with Email to PDF support and Deskewing of PDF. I have attached the release note link with the post. Moreover the OCR feature now performs on par with OCRMyPDF.

The reason I am making this post is gain feedback on the existing features of Bento, but most importantly Bento is going to have a Desktop version soon. Initially it will be launched for Mac users. Bento is inherently fast, but browsers and wasm have limitations, and this aims to solve it with the use of native libraries and leverage the CPU for faster processing and handling of large files efficiently.

I want to know what is the feature you use the most or is there any feature you'd like to be done that existing PDF softwares don't do well. I am happy for any feedback! Thank you (:

23
 
 

A step-by-step visual guide for self-hosting newbies that shows off how to install NextCloud via the YunoHost system

24
25
view more: next ›