this post was submitted on 16 Apr 2024
77 points (100.0% liked)

Selfhosted

45677 readers
477 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I am selfhosting Navidrome for sometimes but its lacks of support for multiple values really bugs me. Since I am having some free time, I've decided to write an opensubsonic server in rust (why rust? you guess). The notable features are:

  • In-memory transcoding with ffmpeg c api. Faster transcoding with no ffmpeg binary required and no need for pre-configurated transcoding profile.
  • Multiple values for artists/album artists/etc.
  • Permission models music folder per user.

It is still actively developped and lacks some Opensubsonic features (playlist/starr) and some external integrations like lastfm. However I would like to post it get some feedback about it.

Thank you very much!

all 27 comments
sorted by: hot top controversial new old
[–] [email protected] 14 points 1 year ago (2 children)

If I were to talk about it, how do you pronounce vnghia's nghe-musl ?

[–] [email protected] 5 points 1 year ago

Hahaha WTF.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (1 children)

Never thought about it. Is there an inside joke am i missing @@

[–] [email protected] 3 points 1 year ago (1 children)

No joke. How do you pronounciate it?

[–] [email protected] 5 points 1 year ago (2 children)

This sounds like a cool thing. Will it run on FreeBSD? If unknown, I will likely try and find out this weekend.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (1 children)

Here you go. But setting up a testing environment on github actions is too hard so it is built only for now.

Edit: test is added now

[–] [email protected] 3 points 11 months ago (1 children)

Now that's awfully cool of you 😄. I'll give that a spin with Symfonium this weekend; much obliged!

[–] [email protected] 3 points 11 months ago

Thank you! I just want to make my server as much cross-platform as possible :D

[–] [email protected] 2 points 1 year ago

I am trying adding a FreeBSD CI. Will let you know later if it is working or not

[–] [email protected] 5 points 1 year ago (1 children)

This is really cool.

One thing that I find really helpful is when authors put a sample docker-compose.yml in their repository and link to it from the readme.md. Helps with the initial lift of getting started.

[–] [email protected] 2 points 1 year ago

Thank you! Please give it a try and give me some feedbacks XD

[–] [email protected] 2 points 1 year ago (1 children)

Hey what do you mean by multiple values?

Eg

since they support multiple values well enough.

[–] [email protected] 3 points 1 year ago (1 children)

In the opensubsonic response there will be two fields for artist, one is artistid with only one artist (this is for compatible with old subsonic) and the other is artists with a list of artist ids. The server only sends back the list of artists ids and only these two clients read that field.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

Thanks. And so this is good for tracks with multiple artists? For filtering?

[–] [email protected] 4 points 1 year ago

Not sure what do you mean by filtering but this is my Symfonium UI