The intention of open-source is not to ritualistically compile from source within a pentagram scrawled on the ground.
It's to look at a corporation taking away something you rely on and being able to say "That's okay. I will make it work by myself or with help, and distribute it for those that feel the same".
For examples, see:
The recent Garmin outage preventing people from syncing activity data
Subsonic forking from the Airsonic when it changed to closed-source
Linux distros without systemd, a divisive and fundamental piece of software
You don't have to be crazy to use Linux or open-source. Just stubborn.
With the exception of track position synchronization, I've found that Airsonic meets the requirements you list, and it is what I use.
For Android I use the app Ultrasonic, and have had essentially no issues.
Yeah Plex handles music in a way that works well for some people but is pretty useless for others.
I've been using Airsonic for a few months and it works very well for me. It is a little bit confusing because there are a few different forks but there is a nice little blurb about the history on the Airsonic homepage.
>The original Subsonic is developed by Sindre Mehus. Subsonic was open source through version 6.0-beta1, and closed-source from then onwards.
>
>Libresonic was created and maintained by Eugene E. Kashpureff Jr. It originated as an unofficial(“Kang”) of Subsonic which did not contain the Licensing code checks present in the official builds. With the announcement of Subsonic’s closed-source future, a decision was made to make a full fork and rebrand to Libresonic.
>
>Around July 2017, it was discovered that Eugene had different intentions/goals for the project than some contributors had. Although the developers were hesitant to create a fork as it would fracture/confuse the community even further, it was deemed necessary in order to preserve a community-focused fork.
​
I also purchased a Subsonic license a while back, so it is installed on my server too, but I don't believe that it really offers any advantage over Airsonic at this point - except maybe that Airsonic's Sonos integration is currently broken.
I've used Madsonic as well. It was created before Subsonic went closed-source and it adds a ton of features on top of the Subsonic code-base. For me Madsonic doesn't offer enough additional useful functionality to be worth switching from the streamlined Airsonic UI. Last time I used it the interface was a bit cluttered and unfocused but it has been a long time since I've played with it.
They are all free to test out so you can determine whether or not you want to pay for the features of Sub/Madsonic or just stick with the FOSS option which is Airsonic.
StorageReview recently tested Qtier and SSD Caching, with both methods yielding about the same results. Qtier seems to have the disadvantage that it can't be removed from an array.
I believe the M.2 slots can only be used for caching (not data or app installation). They're SATA, just like all the other bays.
I have a couple QNAP's with large (10TB+) emby libraries, and caching does seem to speed up library scans.
For a music, maybe take a gander at Airsonic.
I've never used Open Media Vault before, but from their website it sounds like it has a base debian OS and you can get SSH access. In that case, I would treat it just like any other headless linux server. The general steps are:
Once you have that working, youll want a more persistent setup that starts on boot which is dependent on which version of Debian you're using and which init system is running.
We will be adding systemd docs soon, so in the case your init system is systemd, I would watch out for those.
For more detailed instructions, take a look at https://airsonic.github.io/docs/install/war/
> Navidrome can be used as a standalone server, that allows you to browse and listen to your music collection using a web browser.
>It can also work as a lightweight Subsonic-API compatible server, that can be used with any Subsonic compatible client.
> What is Airsonic? Airsonic is a free, web-based media streamer, providing ubiquitous access to your music. Use it to share your music with friends, or to listen to your own music while at work. You can stream to multiple players simultaneously, for instance to one player in your kitchen and another in your living room.
Apparently: Listen anywhere to the music on your computer's hard-drive at home. Cool!
OP, I'm not aware of any open directories for these.
Thanks again for the advice, this definitely gets me moving the right direction!
Okay, I'm trying this out, but it's not working. Here's what I did if you have a moment to see what I'm missing.
1) Stopped the docker container, modified /docker/airsonic/config/airsonic.properties to include "https://airsonic.github.io/docs/proxy/prerequisites/" at the end, and re-started the container. I'm not sure if this is the right way to do it, but Airsonic did continue to work once I did this (before trying the reverse proxy).
2) Reverse Proxy: General
3) Reverse Proxy: Custom Headers - this is where I think things are going wrong, because I have no idea what to put here. I've tried just about everything.
4) Security>Certificate: Manually added airsonic.xxxxxx.synology.me and get a Let's Encrypt Certificate
When I try to go to https://airsonic.xxxxxx.synology.me:443 with this setup, I get to a Synology "Sorry, the page you are looking for is not found". If I try other combos of headers, etc. I get a different error.
They are located inside the war file. It is possible to modify a war file but honestly it would probably be easier for you to just modify the source code and build from that.
I will be releasing a full guide on how to build Booksonic Air from source soon but in the meantime you have some documentation available here as Booksonic Air is built in the exact same way.
https://airsonic.github.io/docs/developer/maven/
In the source you can find the Booksonic theme files here
https://github.com/popeen/Booksonic-Air/blob/master/airsonic-main/src/main/webapp/style/bridge.css
Here is a guide to migrating Subsonic to Airsonic. https://airsonic.github.io/docs/migrate/ I assume you need to backup and replace the files listed in the document.
/var/airsonic /var/airsonic/airsonic_sh.log /var/airsonic/airsonic.log /var/airsonic/airsonic.properties /var/airsonic/db/airsonic.backup /var/airsonic/db/airsonic.data /var/airsonic/db/airsonic.lck /var/airsonic/db/airsonic.log /var/airsonic/db/airsonic.properties /var/airsonic/db/airsonic.script
follow the installation for one of these https://www.navidrome.org/docs/installation/linux/ https://airsonic.github.io/docs/install/prerequisites on your computer or a service like linode, and add your music collection to it. then configure subtracks to access what you've setup
thanks - it worked!
___
Manjaro XCFE
Docker from Manjaro App Store / or terminal
docker tutorial: https://airsonic.github.io/docs/install/docker/
had to fix the daemon running issue, but google search helped
As far as I know it does not, sadly. You can look for a airsonic compatible web app player (https://airsonic.github.io/docs/apps/. If it supports bookmarks, I believe it should work with booksonic progress sync
This is a blast from the past for me. Airsonic has docs on how to install it on FreeNAS and FreeBSD here which are based on what I wrote for Libresonic before it was forked.
Interesting you went the route to make an independent run script etc versus using Tomcat, one less big monolith to install! In my defence I think Tomcat was the standard way to run Libresonic on other platforms too when I wrote the docs.
Question, does the FreeBSD ffmpeg package compile in LAME by default now? One of the biggest annoyances I had back in the day was having to compile ffmpeg from ports to get mp3 encoding support, which is still lingering in the docs.
In vanilla Airsonic, there is information that says to create an application.properties file inside a config folder in the same folder as Airsonic. I'd used this before to enter the server.headers=true, but it's also for advanced logging:
https://airsonic.github.io/docs/logging/
I stepped away for a while as I was getting nowhere. I normally use chrome, but thought I'd try another browser. I tried firefox first - but I'd used that browser before with airsonic and that didn't work either. Then edge, which was completely clean (no cache etc.) and it worked ok. So I did a complete clear of cache and all site data and history in chrome. Then it was ok.
So all good in the end and thank you for the help.
Thanks for the suggestion! The install processes looks very complex (for me at least). I took a look at this page at their website: https://airsonic.github.io/docs/install/example/freebsd-freenas/
I feel like I would mess something up by blindly following this guide. Getting permission correct is hard already with the Truenas GUI, cant see myself manage with just the terminal.
If I were to give this a try how would I un-fetch Airsonic and uninstall tromcat85 if things did come to worst, so I can go back to were I started?
I use Mopidy, which is another server similar to mpd with Cantata as the front end. It's imo the nicest looking music player I've used on any system.
For tagging/management I use beets which imports all the files into a folder on my server. I also serve that using Airsonic so any other devices of mine can access it with a nice web UI.
> If you have any kind of receiver or multi channel set up going, you should hear the difference.
Nah, it really depends on the encoder. If it was encoded using outdated trash the MP3 will easily be distinguishable. Latest LAME at 320CBR or even V0 w/joint stereo? Odds are you're not noticing a major difference if at all.
I still use FLAC for my video sources for archive purpose, but stick with MP3 for music due to not wanting to maintain multiple catalogs while syncing to my phone. In terms of SQ it's never been an issue save very rare occurrences which of those I know have been fixed.
>It would be cool to build a library of lossless files and a basic application that references their file locations in a DB. You could use the app to add / delete / manage records and then feeds them through to a web front end with some kind of streaming / media service.
>You could build your own streaming platform for personal use and play your music wherever you wanted. No ads, your content.
RIP data
This is the project https://airsonic.github.io/
A cool feature could be that airsonic could connect to a shared network and get access to others people musics and stream it.
Not a service, but this is what I did:
Airsonic is a program that lets you set up your own server that acts like the google play server. https://airsonic.github.io/
There are several mobile apps that can connect to an airsonic server - I'm using one called DSub (on my android phone)
You are correct. Keep on looking at nginx or your DNS setting. You can message me if you need any help. But you have to give me something to work with.
https://airsonic.github.io/docs/proxy/nginx/
try following this again
I moved to self-hosted Airsonic music server and Android client DSub. DSub had been abandoned and hasn't seen a release since 2015, but now that GPM is shutting down, it looks like development is picking up again.
I don't find the "all media" servers like Emby, Plex, or Jellyfin to be great for music. I started running a docker image of Airsonic about a month ago, and I've been pleasantly surprised.
Using an Apache proxy you should be able to follow their documentation. I don't know anything about webmin but hopefully this will point you in the right direction.
To access Airsonic locally you don't need the Apache server or forward ports. If you want to access it over the internet you can just forward the Airsonic port and connect using your IP address. But the connection will be insecure so best to set up a reverse proxy. Have a look here: https://airsonic.github.io/docs/proxy/prerequisites/
I don't know Nosos, will check out. In the meantime yo can check Airsonic. You can selfhost it or just run in a PC . I use it for my collection of +40000 albums and after the first day reading and creating the database, it works like a charm
Thank you for wanting to try, that's great!
The docs have a section on how to setup IntelliJ, plus a couple of other pages about some specific parts of the development process (especially Maven, which I still don't know a lot about myself despite having written the page!).
There's always room to improve, so feel free to suggest improvements!
So you have 26 folders with the letters A-Z in you music root folder?
As mentioned on the Airsonic website, the first folder level should be the artist name and the second the albumname: /artist/album
https://airsonic.github.io/docs/first-start/#setting-up-media-folders
Try airsonic! I've never used subsonic but just set up an airsonic server a few months ago, and enjoy the setup quite a bit. I stream from my phone so the ugly web client isn't a problem for me.
Take a look at Subsonic compatible Apps and Airsonic compatible Apps
Personally I'm using Sublime Music on Linux and really like it.
Yes I'm on Linux, on Raspbian.
Both commands gave the error:
Unit airsonic.service not loaded
I followed the instructions here to start up airsonic. Could I stop tomcat8 to stop airsonic, or is there a better way to do it?
I'm trying to install Airsonic on my Pi 4B.
Airsonic's install guide says I need oracle-jdk-8 because there is a performance issue with openJDK on arm.
I tried to get it from the webupd8t java ppa following these instructions but the apt install failed with the error:
Package oracle-java8-installer is not available, but is referred to by another package.
If you want you can reduce some of the logs following the instructions the Logging documentation.
You can customize the log level per-class, for example only display WARN for scanning logs but keep INFO for the others.
You may need to check the config file in /var/airsonic/airsonic.properties and make sure the port number is set there to 4040. Also check to make sure Apache is set up to be as a proxy.https://airsonic.github.io/docs/proxy/apache/
I currently run a tomcat server with nginx as a reverse proxy so I can't exactly pinpoint your issue. If this doesn't work for you, maybe post your apache and airsonic configs (remove passwords of course) and we could hopefully figure out the issue.
UPDATE: I just checked the documentation for standalone war deployment. Try to run your instance like this:
java -Dairsonic.home=/var/airsonic -Dserver.port=4040 -jar airsonic.war
I think docker stop
should work. Don't use kill
.
In general Airsonic shuts itself down correctly if the process is not killed outright. You can check that it is the case by verifying that the db
folder doesn't contain .log
(database logs) or .lck
(lock) files.
Another way to check is to setup DEBUG logging for the Airsonic, as explained here. In recent versions it will show something like "Database shut down successfully" when stopped.
>You can execute commands in the container using docker exec <command> you may be able to halt the required process and restart afterward.
Right, that was my plan. I'm just not sure what those commands might be other than `kill` the java process, which seems blunt, but maybe that's right?
Are you suggesting setting up a database completely external to docker, e.g. https://airsonic.github.io/docs/database/ ? Yeah I guess I could do that, but I like having everything completely managed by the docker container, and it works fine as it is, except I just am not sure how to stop it for a backup, other than to stop the whole container. And even with an external DB I think I'd still need to shut it down, anyway, unless whatever database I choose had a hot backup capability.
Maybe just stopping the container is the best thing here?
IMO the most likely cause for this is that Airsonic is unaware that it's being proxied via a subdirectory. This will cause it to not add the subdirectory to it's asset URLs (css and images etc), so they're incorrect and thus 404. You can confirm this by using your browser developer tools, network tab and inspecting the URLs which are being attempted for the assets. If they don't have /airsonic/ in them, they're wrong.
I haven't done this myself, but the docs at https://airsonic.github.io/docs/proxy/nginx/ say that you need to add server.use-forward-headers=true
to /path/to/airsonic/config/airsonic.properties
.
If that doesn't work, try this: https://airsonic.github.io/docs/configure/standalone/#context-path Setting that option to /airsonic.
Some times a reverse proxy won't work unless you change the BASE URL for the web service.
The above aside documentation says you need proxy_set_header X-Forwarded-For AND $proxy_add_x_forwarded_for
I run Airsonic on my VPS so I do stream over the internet.
If you have previous experience with self hosting and web servers like Nginx and Apache, it is not difficult and you can just follow the documentation. If you have no server experience it is more difficult, but the documentation is pretty good still.
Well, to start with the Airsonic documentation should help you find information about how Airsonic itself. If there is something that you don't get, ask away, there is always something to improve in the docs!
You're probably already aware, but:
"New Version available" link takes you to "<em>https://airsonic.github.io/download/</em>"
Which results in:
"404!
Ooh crap, page not found!
Back to home"
There is no need to store FLAC files on a phone when you can stream them out of your house.
>For the majority of people MP3 is good enough
I would say for everyone, MP3, at a decent bitrate is good enough. A well ripped MP3 (vbr 0) is impossible to tell from the original FLAC file you convertet it from, 99.9% of the time.
If you doubt that, then you can easily test it yourself.
>You make good points and it sounds like vinyl is just not for you.
It's funny. When I got my record collection back and dropped my first record on a turntable, I stared at that spinning album and said to myself "wow, this is really cool!" And I just started at the spinning record mesmerized.
After a few minutes, I left it playing and began to use my computer. Then Side 1 ended. And I had to get off my lazy ass and flip the album over.
And that brought back a ton of memories. I'm 51 years old. I started my record buying journey in high school. I bought vinyl and copied to tape for use in my Walkman. The album got used at home, and the tape on the go. I remember being a freshman in college and buying my first CD player, and my first 3 CDs: Rush - Moving Pictures, Emerson, Lake and Palmer - Brain Salad Surgery, and Boston - Boston. And I remember never having to flip an album over again.
The best thing about vinyl is the fact that people are buying physical media again. It's not a super convenient format, by any stretch of the imagination. And it can wear out. There's definitely a certain "romance" to spinning a record. And I like the large format album art. But if I'm not watching the album spin, I really don't care what the format it.
See https://airsonic.github.io/docs/migrate/ for a description of how to convert Subsonic to Airsonic. Should work for moving Subsonic to another server, but don't rename any files. It boils down to copying /var/subsonic from one server to another. The command box lists all the relevant files. Of course, you need to move or re-point Subsonic to your media folders. If your new server has user subsonic after install, make sure that subsonic owns /var/subsonic and can access media folders.
For "freebies," these two are my current top pics:
The nice thing about these apps is that they both support the Subsonic API, which means you can install a Subsonic client on your phone and use it to stream music from your server, and you can cache music locally, if you're going into an area without cell service.
For paid options, there is Plex. Plex does have a free version, but I don't remember what's included in it, since I have their PlexPass subscription. That works on a client/server model, with you installing the server and then putting the Plex client on any device you want to stream music from. Plex also supports video streaming, so it a jack of all trades media solution.
All of these apps support on-the-fly transcoding, so if you have ripped to FLAC, you can convert to MP3 while you stream.
If you're not going to transcode, you can probably get away with just using a Raspberry Pi. If you are going to transcode, you might need a full PC.
I've found that airsonic has a compatible media player list. You can try some of the "Other applications" section, which some are for desktop, like Clementine.
https://airsonic.github.io/docs/apps/
Maybe one of them has tight integration with music controls.
I personally use Airsonic, a FOSS fork of Subsonic. It should have API-parity with Subsonic, so any Subsonic clients should work with Airsonic. I use DSub on Android, and it supports caching offline. Not sure about iOS.
So I ended up getting it working, and on my Windows install. Running it through Java, followed some instructions from the standalone install (https://airsonic.github.io/docs/install/war-standalone/). Decided not to open it to the world, and will just download my playlists. If I need to listen to something that I don't have downloaded, I'll just use a VPN. :)
Have a look at Airsonic. It's similar to plex but completely free and build specifically for music. There's a docker image available over at linuxserver.io if you're into that sort of thing.
The steps outlined in https://airsonic.github.io/docs/database/ are the official docs, can you elaborate on what part did not work there, or maybe post logs?
10.3 already has an important fix for the stability of HSQLDB, and we're in process of testing the upgrade to a much newer version that is, hopefully, more stable.
There are a few instructions in the docs if you can try them out! (Replace the repo by mine (https://github.com/fxthomas/airsonic.git) and the branch by mine too (try-to-fix-playback-intermittent-stops).
I haven't actually tried this but there is a guide in the Airsonic documentation about how to install on a RPi. It may not run super fast but I'd be surprised if it didn't work. I successfully ran Subsonic on a cheapie single core VPS for a couple weeks while I was moving a couple years ago and it worked just fine.
The HSQLDB database is the whole db
directory, consisting in multiple files. There are a couple of instructions in here, although it's referring to Subsonic and isn't very detailed.
I assume you read the documentation about how to setup an external database? You might need to change it to use the MySQL driver for your use case.
So, here's what we have going on in the photo:
Phone - iPhone 6S: Last model with the always necessary 3.5mm headphone jack
Headphones - Massdrop Koss KSC75x
Application - AVSub connected to an Airsonic Server in my basement.
All music is CDs/SACDs/DVD-A ripped to 16/44.1 FLAC (except for Green Day's American Idiot and 21st Century Breakdown. I purchased those from HDTracks)
The headphones are comfortable since they clip in your ears. Their bass is less than stellar but the mids and treble are awesome for the form factor.
No portable amp required. No extra gear.
You can install it on a jail in FreeNas without using a plugin. I actually just did this last week. They have a guide on their website that worked for me.
A few questions/ideas:
db
directory, and I've run into occasional issues when it grew above a certain size (for which a fix is coming for the next version).Perhaps not exactly what you're looking for, but airsonic has "radios" for artists so that you can listen to similar artists in an automated list - you can create a "shuffle play" which is also an automated mix where it automatically makes a random playlist based on your preferred number of songs, year(s), genre, played amounts, rating, location, amount of times played, format, etc.
Also try running in standalone mode https://airsonic.github.io/docs/configure/standalone/
This way http://yourdesktopIP:8080 is the default path to airsonic, so when you port forwatd 8080 to yourdesktopIP:8080, you will be able connec to yourexternalIP:8080 to airsonic (without airsonic in the url)
I had this problem with ultrasonic. I just moved my whole server setup to another VM, and noticed that I didn't have a transcoder setup on this new server. When I looked at the formatting policy I realized that I definitely never set that up, even if I had installed ffmpeg on my old VM. I finally got around to setting up ffmpeg and symlinking it as per the instructions, so I'll let you know if my results improve
> I've tried them all and I'm currently using LibreSonic but after reading /u/elpfen 's post, it seems I have to switch again.
I think Airsonic is the new LibreSonic? I'm really sick of all these apps closing off and demanding subscription fees. If I wanted to pay a subscription fee I would get Spotify or Google Music and be done with it. The whole point of hassling with my own server is to be able to use the music collection I've already purchased and curated for decades.
I'd take a look at AirSonic (https://airsonic.github.io/). If you can self-host it, it basically checks all boxes you've pointed. Dsub works on a mobile app, and if you want there is a FOSS version of it on f-droid (not sure about iOS) there is audionaut. Both sync quite fine.
Ok, everything is fixed now. (But not done by me, I'm just helping my friend administrate his server.)
There's 2 problem with the setup. 1) Settings tab could not access. 2) Unable to play music, chrome inspect says it's trying to download from a local IP.
The problem lies with the configuration. 1) we set Airsonic as the root app 2) we need to do proxy redirect so the https would work.
The problem with it not displaying is because chrome found the sub pages is not secure, but only the main page. But that's because the proxy redirect isn't configured properly.
Now everything works nicely.
Just follow the guides in the documentation: Airsonic Documentation
Apache won't do all the work here, you need change the "context-path" in airsonic to match your needs ! See the following documentation : https://airsonic.github.io/docs/configure/tomcat/#context-path
Still you might have troubles to set this up if you run both airsonic and madsonic webapp on same tomcat process. Don't know how this one works but try to run 2 different tomcat with different ports and bind the ports in the apache conf.
I suggest you to look at the subsonic/airsonic App page. They are lots of application ( they aren't all listed ! ) and you may find chat you need : https://airsonic.github.io/docs/apps/ http://www.subsonic.org/pages/apps.jsp