1
381
submitted 3 years ago* (last edited 3 years ago) by devve@lemmy.world to c/selfhosted@lemmy.world

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!

🦎

2
-2
submitted 1 hour ago* (last edited 39 minutes ago) by TraceApps@lemmy.world to c/selfhosted@lemmy.world

CookTrace is a self-hosted recipe, pantry, and cook-diary app. Single Docker container, PWA + native Android app, no accounts on external services, no telemetry. Third app in the Trace family alongside NutriTrace and LiftTrace.

v1.1.1 rolls up everything since v1.0.3 (a couple months of work, went straight from 1.0.3 to 1.1.0 to 1.1.1).

Added

  • In-app updates. New Settings β†’ Updates panel checks GitHub Releases for a newer version. On Android, downloads the signed APK and hands off to the system installer via FileProvider. One primary button drives the whole flow: Check Now β†’ Download & Install β†’ Downloading X%. Skip This Version link when an update's available, inline "What's new" markdown panel, opt-in Stable or Dev channels. Silent shade notification when the OS notification permission is granted; top-of-app banner as fallback.
  • Full i18n retrofit across the app. Every hardcoded UI string extracted into src/i18n/en.json and reads via svelte-i18n. ~460 new keys, Weblate-ready. Covers Settings, Pantry, Recipes, Cook Diary, Shopping, Trace AI, and every shared widget. Chicago-style title case for labels/buttons/headings, sentence case for body prose. Column-aligned values and paired <key>_desc sibling keys so translators get inline context.
  • Pull-to-refresh sync (Android). Swipe down from the top of any page to trigger a manual sync in native server mode.
  • Smart connection banner. When sync fails, the banner explains what actually went wrong (no network vs cellular-only vs server unreachable vs HTTP error) with a Retry button, instead of a generic "sync error".
  • Cloud icon in hamburger menu goes red on server disconnect. Previously only lit up when the OS reported offline; now also triggers on server-side outages and cellular-vs-LAN routing mismatches.
  • Pantry page: configurable default search source. New setting under Settings β†’ Food Sources β†’ Pantry Search picks which chip the Pantry page opens with (All, My Pantry, OFF, USDA). Sticks across sessions + devices.
  • Optional email on Create Admin Account form. Shows up when SMTP is configured via environment variables. Stored on the admin user record for password-reset and invite emails later.
  • Accent-tinted browser chrome. The browser tab bar picks up the current accent color via <meta name="theme-color">. Running CookTrace alongside NutriTrace / LiftTrace? Distinct accent per install makes tabs visually distinguishable at a glance.
  • Docker Hub mirror. Images now publish to both ghcr.io/traceapps/cooktrace (primary) and traceapps/cooktrace on Docker Hub. Identical multi-arch tag set on both registries.

Changed

  • Bitwarden and other password managers show a real app identifier instead of "localhost" (Android). The Android app used to serve its WebView from https://localhost/, so autofill entries saved as "localhost" and were indistinguishable from any other localhost app. Now identifies as app.cooktrace.local, which reads clearly in autofill dialogs and saved-credentials lists. One-time upgrade cost: the origin change orphans locally cached web-only state, so on first launch after upgrading you'll re-enter your server URL + log in again (server-connected users) or lose theme / accent / display prefs (standalone users). Recipe, pantry, and shopping data is unaffected (that lives in a separate local SQLite DB).
  • SMTP "Username" field relabeled to "Email or Username". Most providers want the full email; the label change removes the guesswork.

Fixed

  • OFF country filter works again + picker expanded 15 β†’ 30 countries. The Pantry's Open Food Facts country filter was being passed with the wrong query shape (countries_tags_en=<slug>), so selecting Norway or any non-World option silently had no effect. Fixed by using search-a-licious's native inline Lucene syntax. While in there: alphabetized the picker and added Argentina, Austria, Belgium, Chile, Denmark, Finland, Ireland, Netherlands, New Zealand, Norway, Poland, Portugal, Singapore, South Africa, South Korea, Sweden, Switzerland.
  • App icon no longer shows a white halo. Bundled icon PNGs had ~15px of solid white padding baked into their corners; on tinted browser chrome the halo was visible around the tab favicon. Corners now clear cleanly. Icon URLs cache-busted with the app version so future icon fixes take effect without a browser cache clear.
  • Create Admin form password field no longer crushed. The password input on the Enable User Management form was rendering as a colored sliver because of a flex-layout bug. Password + Confirm now sit symmetrically side-by-side, each with its own eye toggle sharing show/hide state.
  • Server-connection banner no longer covers the phone's notification bar (v1.1.1). The red "server unreachable" banner sat edge-to-edge at viewport top:0, which on Android slid it up over the status bar / clock. Now floats as a rounded card below the status bar and the compact header.

Where to Get It

Docker Compose:

services:
  cooktrace:
    image: ghcr.io/traceapps/cooktrace:latest  # or traceapps/cooktrace:latest on Docker Hub
    container_name: cooktrace
    ports:
      - "3003:3001"
    volumes:
      - ./data/db:/data/db
      - ./data/uploads:/data/uploads
    environment:
      JWT_SECRET: change-me-to-a-long-random-string
      DB_PATH: /data/db/cooktrace.db
      UPLOADS_PATH: /data/uploads
    restart: unless-stopped

Then docker compose up -d and open http://localhost:3003/.

AGPL-3.0. No accounts, no telemetry, no external cloud unless you opt in (Open Food Facts, USDA, or an AI provider you supply the key for).


AI Disclosure

Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

  • Design (architecture, system design): Hint β€” I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
  • Implementation (production code): Pair β€” roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
  • Testing (writing tests, test plans, QA): Assisted β€” real-device testing is manual (I test on my own PC and mobile devices before every release). AI helps draft test plans and think through edge cases.
  • Documentation (docs, comments, README, CHANGELOG): Pair β€” release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
  • Review (code review, PR feedback): Assisted β€” I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
  • Deployment (CI/CD config): Hint β€” Docker/GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
3
14

Hi everyone

I'm looking to expand my storage. I have a case capable of 8 bays and I don't think I'll exceed that soon (currently at 3 drives).

I bought a m.2 slot with a bunch of sata ports on it but it doesn't work. I've researched and read an HBA is a much better solution anyway.

If I'm going to get the HBA I might as well run all 8 ports on it.

Aside from the clearance on the card in the case, are there any other considerations I need to he aware of? I justbeant to get something that works from the get go. For my uses I have a good amount of apps and I stream media from the server

CPU- i5-10400f 2.90ghz

MOBO - asrock h570m-itx/ac

RAM - gskill f4-3200c16-8gvkb

GPU - Quadro k620 (gm107gl) rev a2

CASE - Jonsbo N3

4
45
submitted 1 day ago* (last edited 5 hours ago) by Lemmert@reddthat.com to c/selfhosted@lemmy.world

Heyhey everyone,

I am going to switch from my Synapse instance (back) to Continuwuity in a month. The main reason I've been using it is to chat with family who are only on Whatsapp and iMessage (Yes, I tried getting them someplace else. Whatsapp ended up being that other place). Though I'm also in groups on other Matrix instances.

The main annoyances I had with using the bridge until now are:

  1. I need to open the app every two weeks on my second phone (which tends to get lost when I need it).
  2. The time my server went out for a couple of days also made me unsure of self hosting a bridge. I don't mind if I can't see some support messages for a couple of days, but I do mind not being able to get texts from family.

Compared to just using the app it's a difficult proposition. But on the other hand I don't have anything proprietary installed on my phone and I'd like to keep it that way if possible.

There is technically a third option by hosting an iMessage bridge, but I don't have a spare Mac. And while my second phone is an iPhone, there is no documentation on how to bridge via a 64-bit iPhone. In this case however, there would be no two weeks access requirement.

I'd love to hear you guys' thoughts and maybe some other way to tackle this!

Cheers!

Edit: Thanks everyone for the help! I've heard some awesome suggestions. I opted to keep using the bridge. Apparently you don't need to open the app to refresh the biweekly timer, just run it in the backgroud. I happen to have a device that is on more than often enough for Whatsapp to refresh that timer in te background.

5
112

I see a lot of options for self-hosting RSS subscriptions and I don't actually understand what they are for. The very nature of RSS is that it tracks and connects to online content. It seems like having a home server track and download the content just so that you can download it on another device from your server instead of the original servers a bit redundant. Also, it seems like the clients are more limited, since it has ro connect to your personal host, as opposed to the many RSS readers available.

Sorry if this is a stupid question, but I genuinely don't get it. What am I missing?

6
-5
submitted 13 hours ago* (last edited 13 hours ago) by KravenTheHunter@lemmy.browntown.dev to c/selfhosted@lemmy.world

I’ve been building an /*arr stack of apps to automate manga and comics. Together, they allow you (and ur users) to request media, then automate and organize it for you.

  • Edit: This was made with AI! My apologies for forgetting to state that. I spent a lot of time testing and iterating these apps, but they are very much built with Claude and Codex!

Mangarr β€” manga library automation

Mangarr helps you keep a manga library current and tidy.

  • Search for series with cover art, descriptions, and up-to-date chapter lists.
  • Choose which series and chapters you want to follow, then have new chapters added to your library automatically.
  • See a clear β€œwanted” view so you know exactly what is missing.
  • Browse your collection in a poster-style library and see each series’ chapter progress at a glance.
  • Works alongside an existing collection: it can recognize what you already have, so it focuses on the gaps instead of starting over.
  • Scan your folders for newly added files, review anything it could not identify, and match it manually when needed.
  • Preview and apply consistent filenames without overwriting or deleting your existing files.
  • Keeps each chapter neatly organized and ready for a separate reader such as Komga or Kavita.

Pullarr β€” comics library automation

Pullarr is the western-comics counterpart to Mangarr.

  • Search comics by series, with cover art, publisher details, issue lists, and release dates.
  • Follow the issues you care about and have newly released issues added to your library automatically.
  • See missing issues in one place instead of manually checking long-running series.
  • Keep your comics in a clean, consistent folder structure, ready for Komga or Kavita.
  • Bring an existing library with you: Pullarr can scan your folders, recognize files you already own, and avoid downloading them again.
  • Preview renames before making any changes, find duplicate files, and clean up mismatched items.
  • Manually match collected editions or trade paperbacks to the issues they contain, so your library progress stays accurate.
  • Offers more detailed creator, story, and collection information when available.

NextPanel β€” a request app for your library

NextPanel gives other people an easy, friendly way to discover and request manga or comics from the library.

  • One place to search across both manga and western comics.
  • A Discover page with trending manga, seasonal picks, favorites, newly released comics, and new comic series.
  • One-tap requests for titles that are not already in the library.
  • A simple approval queue, so the library owner can approve or decline requests with a reason.
  • Clear request progress: people can see when a title is being processed, partly available, or fully available.
  • Notifications when a new request needs approval, or when a requested title becomes available.
  • Separate accounts so people see their own requests while admins can manage everything.
  • Installable on a phone like an app, with a layout designed to feel comfortable on mobile.

I built these because I wanted the convenience of a well-organized media library for manga and comics. Feedback, feature ideas, and bug reports are very welcome.

AI Project Disclosure [AIP]

AI was used in the development of these projects as follows:

  • Design β€” Assisted: I drew up the designs and used AI to help turn those designs into the applications.
  • Implementation β€” Generated: I defined features, tested the apps myself, and identified bugs, while AI produced most of the production code.
  • Testing β€” Generated: AI generated much of the testing work. I also tested each app myself, identified issues, and guided what needed improvement.
  • Review β€” Generated: AI handled most code review, while I provided direction based on the features and issues I found.
  • Documentation β€” Pair: AI generated the initial documentation, and I refined it for accuracy and clarity.
  • Deployment β€” Pair: AI drafted the Compose files and helped set up the automated image builds and Docker Hub publishing; I worked with it to configure and validate that setup.

I remain responsible for the projects’ direction, feature decisions, testing, and final validation.

7
89
Selfhosting Sunday! What's up? (lemmy.nocturnal.garden)

It's been a while! Let us know what you're currently working on, what exploded, what cool stuff you found, or just brag that everything is running fine unattended.

I haven't been doing a lot, renovate auto upgrades for patches and sometimes minor updates work great so far. I got involved in my union to spin up a mastodon server soon, so there's a new project, but I already run mastodon so it shouldn't be much of a deal, I just need to get comfortable with the infrastructure. I also set up ntfy but only sent some test notifications and didn't configure any app yet - planned for Element Chat.

[Meta] I'm not sure how to apply the new tags. In the recent versions of this thread, people sometimes posted about their ollama setup or the like, but I'm not mentioning AI in the post body (except this meta thingy) and it shouldn't be much of the discussion, but it's an open post. Maybe curbstickle can chime in to let me know if I should apply one of them.

8
46

I donβ€˜t know if this is the right place to ask, but is this an OK build for a first start in selfhosting? Is there anything obvious I could improve? Iβ€˜d mainly run Nextcloud, Immich, some Docker containers and smaller web applications and cronjobs.

9
8
Visibility of NFS exports (discuss.tchncs.de)

Consider the following setup:

An NFS server exports the directory /srv/nfsv4 to one client. It is exported with the option "fsid=0" for use with NFSv4.

/srv/nfsv4              192.168.0.10/24(ro,sync,secure,root_squash,subtree_check,fsid=0)

The bind-mounted directory within it, foo, is exported as well. Client 192.168.0.10 can successfully mount and write to it.

/srv/nfsv4/foo          192.168.0.10/24(rw,sync,secure,root_squash,subtree_check)

"foo" has multiple subdirectories. While client 192.168.0.10 should have full read-write access to all of them, another client, 192.168.0.20, should only see a specific subset of these directories. Everything else should not only be read-only, but not mountable at all.

At first, I did it like this:

/srv/nfsv4              192.168.0.10/24(ro,sync,secure,root_squash,subtree_check,fsid=0) \
                        192.168.0.20/24(ro,sync,secure,root_squash,subtree_check,fsid=0)

/srv/nfsv4/foo          192.168.0.10/24(rw,sync,secure,root_squash,subtree_check) \
                        192.168.0.20/24(ro,sync,secure,root_squash,subtree_check)

/srv/nfsv4/foo/dir1     192.168.0.20/24(rw,sync,secure,root_squash,subtree_check)

/srv/nfsv4/foo/dir2     192.168.0.20/24(rw,sync,secure,root_squash,subtree_check)

With the effect that client 192.168.0.20 could still mount all other subdirectories of foo (even though read-only).

So, in an attempt to achieve the desired behavior, I created a second parent directory /srv/nfsv4/bar/ that has only the intended set of subdirectories bind-mounted to it:

srv/
└── nfsv4/
    β”œβ”€β”€ foo/
    β”‚   β”œβ”€β”€ dir1
    β”‚   β”œβ”€β”€ dir2
    β”‚   β”œβ”€β”€ dir3
    β”‚   └── dir4
    └── bar/
        β”œβ”€β”€ dir1
        └── dir2

And changed /etc/exports to look like this:

/srv/nfsv4              192.168.0.10/24(ro,sync,secure,root_squash,subtree_check,fsid=0) \
                        192.168.0.20/24(ro,sync,secure,root_squash,subtree_check,fsid=0)

/srv/nfsv4/foo          192.168.0.10/24(rw,sync,secure,root_squash,subtree_check)

/srv/nfsv4/bar          192.168.0.20/24(rw,sync,secure,root_squash,subtree_check)

Now, when I mount nfs-server:/bar on client 192.168.0.20, everything seems as expected. Except that I could still mount nfs-server:/ (the exported root) and have read access to foo. My understanding was that, unless I explicitly exported foo to 192.168.0.20, it should not be visible to it.

What did I do wrong?

10
38
submitted 2 days ago* (last edited 2 days ago) by monsterovich@lemmy.world to c/selfhosted@lemmy.world
  • Fixed issues in the RUDP library: memory leaks when using shutdownHook, deadlocks, handling of corrupted UDP packets, and many other issues that were identified during testing.
  • Added the display of the connection protocol to the peer list.
  • Added an experimental build that compiles a .jar file into an executable using native-image in GraalVM. For now, this is for the headless version of the application on Linux x86_64. To avoid running Lanemu as root, you also need to do

sudo setcap cap_net_admin=eip Lanemu-headless

  • Updated dependencies.
11
228
submitted 3 days ago* (last edited 3 days ago) by Imaginary_Stand4909@lemmy.blahaj.zone to c/selfhosted@lemmy.world

Just wanted to share this Youtube video (Invidious link here) that explains how to configure Openwrt VLANs for your Wifi network! I was struggling for hours today trying to configure VLANs on my Openwrt AP when I found an old Reddit thread linking to this guy's channel!

He seems to have a whole series on Openwrt, so if you need a complete beginner guide he sounds great!

12
496
submitted 3 days ago* (last edited 3 days ago) by organicpu@lemmy.organic-server.org to c/selfhosted@lemmy.world

After years of breaking things, I think I'm finally at a point where I'm genuinely proud of my setup -so naturally, I have to share it with you all.

This is my single-server do-everything box. The whole point was to kick as many big-tech cloud services out of my life as possible. Photos, passwords, code, chat, even ML -all running in my closet/corner.

The guts:

  • Ryzen 7 3800X (8 cores, 16 threads)
  • 48GB of RAM (Channel A: 16GB+8GB, Channel B: 16GB+8GB | still dual channel with stock timings and clocks.)
  • RTX 3050 8GB (handles GPU-accelerated processing with GPU passthrough to said LXC's)
  • A couple of storage pools (Fast-Thin-LVM (Nvme) for stuff that needs speed, TB-Thin (Sata) for the bulk)
  • Proxmox 9.2.5, kernel 7.0.14

Nothing crazy by today's standards, but honestly? It handles everything I throw at it without breaking a sweat.

The services:

Everything runs in LXC containers. If a service needs Docker, I run Docker inside the LXC - so each service gets its own dedicated container with its own Docker install. A couple of other things (like OpenWrt and DSM) live in VMs instead.

I've got the usual suspects - Immich for photos (goodbye Google Photos), Vaultwarden for passwords, and Matrix Synapse for chat. Networking side is Nginx Proxy Manager, WireGuard, Pi-hole, and OpenWrt routing traffic as well as DDNS-Updater to keep my domain up to date. Also running Gitea for my little coding projects, Kiwix for offline Wikipedia (because why not), Trilium for my scattered notes, homarr as the dashboard and of course lemmy, your reading this on it haha.

On the heavier side, I've got Ollama + Open WebUI running locally with GPU acceleration - the 3050 gets the job done.

Snapotter is in there too - it's an open-source, self-hosted file toolkit with 200+ tools for images, video, audio, PDF, and document processing. I use it so I don't have to rely on sketchy file conversion sites anymore. Convert, compress, OCR, strip metadata - all happens on my own hardware, files never leave my network. The GPU helps with some of the heavier image tasks too.

And yes - I'm running DSM (Arc Loader) in a VM with PCIe passthrough for the NAS. It's a bit overkill, but I wanted proper storage virtualization with direct hardware access.

I also will not lie- the GPU sits idle most of the time, but it's nice to have the acceleration.

Why LXC + Docker instead of just Docker?

I just like having each service in its own isolated container with its own Docker daemon. It makes backups and snapshots stupidly easy in Proxmox - when I inevitably screw something up at 1 AM (and I will), rolling back takes two clicks. Plus, it keeps dependency hell contained.

Dive into the Details

If you're curious about the configs, the philosophy, or just want to see the messy reality behind the setup, head over to organic-server.org. You'll find some more of my ramblings there.

Or, if you have a specific question, I'm always happy to chat here.

edit: I also forgot to mention I have degoog running. oops.

13
23

[AIP] Disclosure: https://github.com/Supernova3339/changerawr/blob/master/AI-DECLARATION.md

Hello c/selfhosted! I'm Nova (known as Supernova3339 online) and was told to post here by my friend fccview. Admittedly, I have made this post before (apologies for not noticing the rule) and hope my second attempt will be much more favorable for all of you. I'm just facing constant rejection and hate on Reddit, it's not like it used to be anymore unfortunately, and I'm hoping you’re willing to give me a chance :)

You can find Changerawr's source code here
With that out of the way, let's get started with the release notes!


Features

  • Extensions – Extend the functionality of Changerawr's beloved Markdown editor. Comes with four extensions installable from the get-go thanks to the official Changerawr Extension Store! If you'd like to make your own, download the official Changerawr CLI!
  • Spellchecker – Adds Spellchecker functionality to the editor via integrating with the LanguageTool API! You can configure all related functionality in system configuration. This feature is disabled by default
  • Editor History – Provides a git-like editor history for your changelog entries! You can make them memorable as well by assigning icons, titles, and color!
  • RSS Feed Extension – Full control over RSS feed content, layout, and styling!
  • Maintenance Mode – Put any public changelog into maintenance mode. You can also set your own message
  • More Project Personality – You can now set an accent color and icon that will be used throughout the application to identify a project!

Improvements

  • Moving some functionality to local AI – Tagging with AI has been moved to a brand-new Tag AI service that runs alongside Changerawr. Also introduces some improvement to the tag selector itself with a redesigned UI. Please note that the model has training, it is, however, fully local and transparent and will never leave your device!
  • Request System Enhancements – You can now attach comments to a request as well as request changes! Updated the design of the staff-side requests page as well
  • API Page Redesign - Redesigned the API page to make better usage of screen-space and improved accessibility
  • Better mobile support – Improved mobile support by separating the project and main sidebar
  • Overhauled API Documentation – Improved API documentation generation to be easier to consume and understand
  • Administration UI Spacing – Improved screen-space usage and cut out unnecessary clutter. Also added some badges to the sidebar that show up if you have pending actions for certain pages
  • Import Tool Rewrite – Improved the import tool to support more options, platforms, and ways of importing. I'll try to add to the next release where you can fully export ALL of your Changerawr instance's data! I honestly hate vendor lock-in, you should be able to choose your software and not be forced to keep using it.
  • Content Editor Improvements – Improved mobile support in the content editor, the renderer, as well as a lot of internal components to provide an overall better user experience. (v2.0.0 of Changerawr Universal Markdown)
  • Slight Settings Redesign for Projects – Made some slight improvements to the UI, as well as adding more deletion controls and hinting at an upcoming feature

Bug Fixes

  • Bug Fix Extravaganza – Fixed a bunch of bugs in this release, way too many I can't remember all of them.
  • Fixed development-leaving of false-secure in project email configuration – No matter what you set, it would always send as unsecure due to hardcoding false instead of respecting user-input

Other

  • Dependency Updates – Standard update of dependencies, npm audit, the usual maintenance
  • Rewrite of a Secret - Rewrote a secret completely to be a much better experience. Also added another one, best of luck in finding it! I will most likely redo the sprite-sheet in 1.0.8/1.0.9 to better fit Changerawr. If you'd like to make it, please reach out!

I aim for a Changerawr release every month or so due to my unavailability with work and other projects. The goal is to ship one major feature per-release until I'm at a point where I can focus on smaller, generalized improvements. Apologies for such a late release, I hope all the effort is worth it! :D

What is Changerawr?

Changerawr is changelog management software. Changerawr lets you write down what you changed, then share those changes with people. You write entries about updates you made, and Changerawr gives you ways to display them - like widgets for your website, public pages people can visit, or APIs to use however you want.

Have a rawrsome day!

If you aren't able to click the link, copy-paste the below URL:

https://github.com/Supernova3339/changerawr

If your looking for screenshots, you can find them here - as well as a rotating gallery on the project README!

https://github.com/Supernova3339/changerawr/tree/master/screenshots

14
126
submitted 3 days ago* (last edited 3 days ago) by chagall@lemmy.world to c/selfhosted@lemmy.world

Original post here [redlib link].

Written by deluan

The next release normalizes every ID in the database into a single format. It runs a one-time migration on first start. The PR with this change will be merged this weekend: https://github.com/navidrome/navidrome/pull/5824

If you run develop or auto-update, this lands soon (this weekend) and without warning. Make a backup of navidrome.db now. The migration is one-way, so rolling back (if needed) means restoring that backup.

The short version:

  • Takes ~30s to ~1m20s on my 96k-track library (QNAP Celeron). Scales with library size.
  • Everyone gets logged out once. Web UI and clients using the Navidrome API need to log in again. Subsonic clients authenticate per request, so they are unaffected.
  • Song IDs change, album and artist IDs do not. Clients that cache song IDs (offline downloads, cached playlists) may need a re-sync.
  • Cover art gets re-fetched, so the first browse after upgrading is slower.
  • Share links keep working.
  • Nothing is lost: favorites, ratings, play counts, bookmarks, play queues, scrobble history and Last.fm / ListenBrainz links all survive. No rescan needed.
  • One manual fix: .nsp smart playlists using inPlaylist or notInPlaylist keep the old playlist ID on disk and need updating by hand.

Full write-up: https://gist.github.com/deluan/917ebc243c8b486101de857ffae6739b

If you can, please test it with your favourite client once it is merged, and reply here (or on our Discord) if anything looks off.

EDIT: For app/client developers: I'll merge the topSongsByArtistId PR at the same time as this ID migration. This means that you'll be able to detect if a server is migrated by checking the getOpenSubsonicExtensions response and looking for the topSongsByArtistId extension.

15
21
submitted 3 days ago by Cyber@feddit.uk to c/selfhosted@lemmy.world

Hi good people... just looking for some feedback ...

I have a couple of Raspberry Pi 3 with audio amp outputs (one has a touchscreen as well).

They're currently running Volumio (v2) which we can control remotely with our phones, but that software is old, insecure, and could really do with an update...

Volumio (v4) doesn't inspire me much, plus, it's good to check out the alternatives.

So, I'm looking at replacing the local-audio playback with perhaps Moode ... or maybe piCorePlayer and perhaps adding Navidrome for remote access??

I'd need to be able to play radio streams too, with a sleep timer / wakeup function, so not sure if that's a deal breaker (it's hard to find these features on their websites)

Any alternatives that others can suggest (rAudio?) or other feedback?

Or am I ahead of the curve and I have found the Best Solutionℒ️?

TIA

16
556
submitted 4 days ago* (last edited 4 days ago) by avidamoeba@lemmy.ca to c/selfhosted@lemmy.world

I've been trying to upgrade from 10.10 to 10.11 for a while now, as the Android TV app keeps nagging me, and every attempt ended with impossibly long library scan times.

After some thorough investigation, it appeared that a Home Videos type collection causes unending scan (yet to be solved), but also that Jellyfin does a lot of writes to the config directory (either database or metadata or both). Mine's on spinning media part of a ZFS pool. I tried a few performance tuning options, such as testing the config dir with recordsize (similar to block size) of 4K, 8K, 64K, 128K and library scans fell from 30-40 minutes down to 8-13min with 4K-64K. The ZFS tuning wiki suggest 64K recordsize with LZ4 compression for SQLite workloads such as Jellyfin. That seems to work as well as 4K and 8K but likely is faster when reading thumbnails and such.

Note that upgrading to 12-rc3, which is supposed to speed up library scans did not improve scan times for me. Optimizing config/database write speed did. I cross-checked the culprit by experimenting with moving the config dir to NVMe and RAM. Both of those got the scan times down to 8-9 minutes compared to the optimized spinning media's 12-13.

So if you had upgraded (or about to) to 10.11 your library scans are (about to get) dog slow and your Jellyfin's config dir resides on spinning media, optimize its write performance for SQLite.

17
20
immich help (lemmy.zip)
submitted 3 days ago* (last edited 3 days ago) by illusionist@lemmy.zip to c/selfhosted@lemmy.world
  • Immich always asks for confirmation when deleting an image on android. How can I disable that behavior?
  • why is there no delete button for images/videos that are not yet uploaded? It's annoyng to upload a huge video just to delete it. Why does the UI change dependent on the local/server status?

OS: grapheneos

18
63
Homelab discussion (piefed.social)
submitted 3 days ago* (last edited 3 days ago) by Buage_@piefed.social to c/selfhosted@lemmy.world

Hello everyone! I'm kinda curious about the services you self-host, and I would love to see what do y'all use!

I'll start, and list the services I self-host:

My list

  • Immich (bye Google photos)
  • Open WebUI (web interface for llms)
  • Fireshare (clips hosting and sharing)
  • Home Assistant
  • FMD Server (find my device alternative)
  • YourSpotify (spotify tracker)
  • Kener (uptime monitoring)
  • AdGuard Home
  • SearXNG

Thanks for reading, and thanks to anyone who participate!

19
21

I've been self hosting a few services on a raspberry pi-based NAS and decided I was ready to up my game. I got on eBay and found myself a decent deal on an old Supermicro dual-cpu board with an EATX form factor. Now I need a case for it.

I could rack mount it, but I'd rather have it be a standalone. I also have several HDDs in a RAID for storage, and would love something that has room for those internally. I was going to get a Darkrock Classico Max, but figured out it won't fit an EATX board without removing the HDD cages.

Do I'm wondering: anyone out there have a recommendation for a good EATX case with ample HDD space? Anyone else got a setup like this you are happy with?

20
55
21
215
submitted 4 days ago* (last edited 4 days ago) by asciimoo@lemmy.ml to c/selfhosted@lemmy.world

Hi everyone,

I am the original author of Searx. I started Hister with a similar motivation: reducing our dependence on external search engines while keeping searches and personal data under our control.

Searx is a metasearch engine that forwards queries to other search providers. Hister takes a different approach. It builds a private full text index from content you choose, then searches that index entirely on your own infrastructure.

Hister can automatically index pages through its Firefox and Chrome extensions. It can also watch local directories, import browser history and bookmarks, index individual URLs, and crawl complete documentation sites.

The feature I find most useful is offline previews. Hister stores the readable content and HTML of indexed pages locally. You can open a result in a clean and sanitized preview beside the search results without visiting the original website again.

Some other features:

  1. Full text search across web pages, PDFs, docx files, Markdown, OrgMode and text files
  2. Phrase searches, field filters, date filters, wildcards, negation, aliases, labels, facets, and result priorities
  3. Optional semantic search using an embeddings endpoint you configure
  4. Persistent website crawls
  5. Imports from browser history, Linkwarden, Karakeep, Shaarli, Wallabag, and Linkding
  6. Web, terminal, command line, HTTP API, and MCP interfaces
  7. SQLite and PostgreSQL support, plus optional multiple user hosting

Hister cannot replace a global search engine (yet) for subjects you have never encountered because it only searches what you have indexed. My workflow is to search Hister first, then use its shortcut to fall back to traditional search when I need broader web results.

The project is free software under the AGPLv3+ license. It can be installed as a standalone binary or with Docker.

Project: https://github.com/asciimoo/hister

Website and documentation: https://hister.org/

Small read-only demo: https://demo.hister.org/

I'd appreciate feedback, questions, and suggestions as well as joining our growing community.

AI disclosure: AI assisted contributions are not strictly prohibited, but all contributions should be made by humans. More details: https://github.com/asciimoo/hister/blob/master/CONTRIBUTING.md#ai-policy

22
30

Crossposted from https://thebrainbin.org/m/linux@lemmy.ml/t/1840283

Which approach do you think is better, and why?

  1. FIDO2
  2. HMAC-SHA1
  3. OpenPGP (alternative guide)

Or do you think there is an even better way to use a hardware security token to unlock drives having LUKS full disk encryption?

23
39
NAS case (lemmy.zip)
submitted 4 days ago* (last edited 4 days ago) by jobbies@lemmy.zip to c/selfhosted@lemmy.world

Im in the market for a NAS solution. By NAS I don't mean running Jellyfin and some homepage thing for vibes, I mean your old-style "it just provides network attached storage".

I love the Jonsbo cases but I don't want to drop as much coin as building out a NAS based on one of them entails. I'm looking for an older office/home/gaming PC or case that has room for atleatst 4 3.5" HDD’s. Something around ten years old with maybe an i5 7th+ gen CPU. I don't need hardware RAID as I prefer ZFS anyway.

Ideas?

24
70
submitted 4 days ago* (last edited 4 days ago) by Die4Ever@retrolemmy.com to c/selfhosted@lemmy.world

12 years and 11 months of powered-on time for this SSD... I should definitely turn it on for another month lol

10 years powered-on time for this HDD. Who says HDDs aren't reliable? πŸ˜‚

Anyone got better numbers than these?

25
65
submitted 4 days ago* (last edited 4 days ago) by _Nemo_@lemmy.ml to c/selfhosted@lemmy.world

With v0.63, audio streamer Navidrome finally got full lyrics support. I just wanted to try it out and fell flat on my face because... well, not even the official docs say anything about lyrics. Also, I'm not too familiar with how lyrics are added to songs in general. So my questions are these:

  1. How can I add any lyrics to my songs so the web client will display them?
  2. What formats would you recommend sticking with? (TTML, ELRC, SRT, YAML, LRC, or even TXT)
  3. Is there a way to automate adding lyrics in bulk (instead of tedious manual work)?
view more: next β€Ί

Selfhosted

61168 readers
293 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:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

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

Questions? DM the mods!

founded 3 years ago
MODERATORS