Ampache tinyhome install
Yes, it's been almost a year since I did my Lenovo m900 Tiny Setup aka "TinyHome" as I'm now calling it.
It's still on a free Cloudron install, which means it's limited to 2 apps. The home page at https://home.bmann.ca is using Cloudron's Surfer app.
Because of my Tangara Setup, I started digging into how I use my music, which lead to looking at what music servers Cloudron supports.
- Koel
- Navidrone
- Ampache
I went with Ampache after looking through the options, as it seemed to be most focused on file management. Here's the Cloudron Ampache Docs.
Since I downloaded a bunch of my Bandcamp purchases to add to the Tangara SD Card, I figured I could at least keep music around on my local network rather than taking up space on my laptop.
Shared Volumes
How to make music files easily available on my local network, and also accessible and manageable from my desktop?
Cloudron supports Cloudron Volumes:
Volumes are local or remote file systems. They can be used as an app's main data storage or as a shared storage location between apps.
I used the Filesystem type, and created a new mount called "Shared" at /srv
, one of the allow-listed paths that are supported for this purpose.
First, I went into the configuration for my main Surfer install, and moved it's Location to this "Shared" mount, with no prefix.
This means the entire /srv
tree is now the root of the Surfer install. The public
folder are where the web accessible files live. I made a music
folder inside there. I also turned off public folder listing.
For the Cloudron Ampache install, I setup "Shared" as an additional mountpoint (keeping it's install Location). From the Ampache install's point of view, it's available at /media/Shared
, and I added the music folder as a new catalog, with full path /media/Shared/public/music
.
Moving Music
I can now mount that music folder via WebDAV in the MacOS finder or other compatible tools, and browse / upload / delete / edit the music folder as needed.
As it turned out, I mounted the Tangara SD Card, and just drag and dropped all of the folders in it to the WebDAV mount…and it just worked!
Ampache Uploads
I enabled Uploads for users on Ampache (which took some doing in digging around to figure out in the interface and permissions, even with an Admin user). There's an upload page that defaults to the music folder, and it will read the tags and organize into artist folders with album sub folders.
If I make changes via WebDAV, I can hit Reload in Ampache for it to rescan the folder and import changes.
What I ended up doing was completing my mission of downloading all my Bandcamp purchases, and using the Ampache Uploads interface to add them. Then I ran beets to transfer all those over to the Tangara SD Card.
Sharing with Users
The Ampache install is on my home server, and you have to be logged in to listen. I've invited a few people to kick the tires on it.
The screenshot above has me logged in and showing the "Random" and "Trending" (from user listens) sections of the home dashboard. There are some "Now Playing" and "Recently Played" sections that show more user info.
There are some Guest settings that I haven't experimented with yet.
One of the things you can do is add a catalog that is actually a remote server. So a number of people running their own installs can share their music that way.
This is one of the first use cases which I see being immediately interesting where everyone can run their own install and then just share each other's catalogs. I'm going to see about running on instance on the Z-Space local network.
iTunes Match and getting out of iTunes
I'm a long time subscriber to iTunes Match, and while it says it's not a backup service… I basically uploaded all of my music to it, as well as importing my Bandcamp purchases, and that's what makes my music available everywhere. At around $30CAD per year, this is incredibly cheap and convenient.
I've got a ton of this music downloaded to my phone and/or Macbook Air. I'm not sure which of them I've bought via iTunes1 and which of them are from Bandcamp or somewhere else.
As it turns out … I just went into the Music folder on my Macbook, and uploaded the AAC / m4a files, and Ampache seems to … just work? I clearly don't understand music licensing in 2024, but I'm still glad I've been buying music!
So theoretically I should be able to just upload all my music my from iTunes library!
Amperfy for iOS and MacOS
The Ampache web interface is not very good. But, a quick search found Amperfy, an Ampache client written in Swift for iOS / iPadOS / MacOS.
You enter in the server address and your username and password, and you've got a full featured client with modern features.
It synchs / downloads / caches music for offline use, which is what I had been doing for my iTunes usage as well. And whether you use the Ampache web interface or Amperfy, all the plays and favorites and ratings are reflected everywhere. Nice!
Other Features
I'm still digging through other Ampache features. The Ampache Github Wiki seems to have the most stuff but is a mix of different versions and confusing to a new user like me, never mind pages of ACLs and other settings that I'll need to dig through.
You can add Podcasts and Radio Stations, so I grabbed the Vancouver Co-Op Radio stream from the Listen Live page. You have to view source to get the URL, https://listen-coopradio.sharp-stream.com/coopradio.mp3
.
Democratic play is where users in a shared space like an office can "vote" on what music to play.
Localplay are all about some local network interfaces that don't look like they apply to anything I need. I can play from one of my devices and then AirPlay to my local Sonos.
There are many plugins. LOL at the comment on the wiki: "TODO these need to be documented for regular users"
-
Both Rachael and I don't subscribe to streaming services. We have a Family Account on iTunes, which automatically shares iTunes purchases. ↩