The bmannconsulting.com website
1--- 2tags: 3 - howto 4 - music 5 - Bandcamp 6--- 7Yes, it's been almost a year since I did my [[Lenovo m900 Tiny Setup]] aka "TinyHome" as I'm now calling it. 8 9It'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. 10 11Because of my [[Tangara Setup]], I started digging into how I use my music, which lead to looking at what music servers Cloudron supports. 12 13* Koel 14* Navidrone 15* [[Ampache]] 16 17I went with Ampache after looking through the options, as it seemed to be most focused on file management. Here's the [Cloudron Ampache Docs](https://docs.cloudron.io/apps/ampache/). 18 19Since 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. 20 21## Shared Volumes 22 23How to make music files easily available on my local network, and also accessible and manageable from my desktop? 24 25Cloudron supports [Cloudron Volumes](https://docs.cloudron.io/volumes/): 26 27> 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. 28 29I 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. 30 31First, I went into the configuration for my main [[Surfer]] install, and moved it's Location to this "Shared" mount, with no prefix. 32 33This 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. 34 35For 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`. 36 37## Moving Music 38 39I 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. 40 41As 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! 42## Ampache Uploads 43 44I 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. 45 46If I make changes via WebDAV, I can hit Reload in Ampache for it to rescan the folder and import changes. 47 48What 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. 49 50## Sharing with Users 51 52![Screenshot of Ampache home dashboard](/assets/2024/amperfy-home-dashboard.jpg) 53 54The 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. 55 56The 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. 57 58There are some Guest settings that I haven't experimented with yet. 59 60One of the things you can do is [add a catalog that is actually a remote server](https://github.com/ampache/ampache/wiki/API-RPC). So a number of people running their own installs can share their music that way. 61 62This 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. 63 64## iTunes Match and getting out of iTunes 65 66I'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. 67 68I'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 iTunes[^buyingmusic] and which of them are from Bandcamp or somewhere else. 69 70As 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! 71 72So theoretically I should be able to just upload all my music my from iTunes library! 73 74[^buyingmusic]: Both Rachael and I don't subscribe to streaming services. We have a Family Account on iTunes, which automatically shares iTunes purchases. 75 76## Amperfy for iOS and MacOS 77 78The Ampache web interface is not very good. But, a quick search found [[Amperfy]], an Ampache client written in Swift for iOS / iPadOS / MacOS. 79 80You enter in the server address and your username and password, and you've got a full featured client with modern features. 81 82It 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! 83 84![Screenshot of Amperfy on MacOS looking at the Dreamland album by Glass Animals](/assets/2024/amperfy-macos-dreamland-glass-animals.png) 85## Other Features 86 87I'm still digging through other Ampache features. The [Ampache Github Wiki](https://github.com/ampache/ampache/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. 88 89You can add Podcasts and Radio Stations, so I grabbed the [[Vancouver Co-Op Radio]] stream from the [Listen Live page](https://coopradio.org/listen-live/). You have to view source to get the URL, `https://listen-coopradio.sharp-stream.com/coopradio.mp3`. 90 91Democratic play is where users in a shared space like an office can "vote" on what music to play. 92 93Localplay 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. 94 95There are [many plugins](https://github.com/ampache/ampache/wiki/ampache-plugins). LOL at the comment on the wiki: "TODO these need to be documented for regular users" 96 97 98 99 100