+100
_notes/Ampache TinyHome Install.md
+100
_notes/Ampache TinyHome Install.md
···+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.+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](https://docs.cloudron.io/apps/ampache/).+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.+How to make music files easily available on my local network, and also accessible and manageable from my desktop?+> 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`.+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!+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.+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.+One 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.+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.+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 iTunes[^buyingmusic] 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!+[^buyingmusic]: Both Rachael and I don't subscribe to streaming services. We have a Family Account on iTunes, which automatically shares iTunes purchases.+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!++I'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.+You 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`.+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](https://github.com/ampache/ampache/wiki/ampache-plugins). LOL at the comment on the wiki: "TODO these need to be documented for regular users"
+15
_notes/Blacksky.md
+15
_notes/Blacksky.md
···+> Blacksky is providing a platform to **amplify, protect, and moderate** Black content so users can **safely build community** online.+The mission and purpose of the project is to **de-center whiteness** as the default and to provide a space for Black folk to discuss the Black everyday in a way that feels affirming.+As existing networks like Twitter (a uniquely Black platform with 25% Black users) continue to deteriorate by way of platform decay, this mission is all the more urgent.+> Built on the [[ATProtocol]] and written largely in Rust, Blacksky is comprised of microservices that analyze, aggregate, and output content created by and for Black users. Blacksky intersects with culture, machine learning, and decentralized web technologies to provide a safe social experience for Black users that allows them to feel seen without worrying about threats from bad actors.
+37
_notes/Bluesky PDS.md
+37
_notes/Bluesky PDS.md
···+Written in TypeScript and using [[Caddy]], this is an all in one PDS installer that requires a dedicated server or VPS. It's the same codebase that [[Bluesky]] runs for their production instances.+<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:lmmeta6tejj3fhn5xvzl5eoi/app.bsky.feed.post/3lazundqk4c2y" data-bluesky-cid="bafyreid7pbzyn4ezygqutyfsx64cfdt5bbt3ekne6ph23cji65rucw2xtq"><p lang="en">I installed my own PDS on a new KVM-1 from Hostinger.+Took like 15min total. This is easy!</p>— Boris (<a href="https://bsky.app/profile/did:plc:lmmeta6tejj3fhn5xvzl5eoi?ref_src=embed">@boris.bringyourown.computer</a>) <a href="https://bsky.app/profile/did:plc:lmmeta6tejj3fhn5xvzl5eoi/post/3lazundqk4c2y?ref_src=embed">November 15, 2024 at 6:43 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>+<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:wn774ojgaemblghs6xduynyq/app.bsky.feed.post/3lazvnwr4ve2q" data-bluesky-cid="bafyreidb5ab6hafiznmp2mi64dsk7ddkosqquktgk433dqfedtcvtmrinu"><p lang="en">Huh. So you can, like, just create your own PDS. And invite codes. And make new accounts.<br><br><a href="https://bsky.app/profile/did:plc:wn774ojgaemblghs6xduynyq/post/3lazvnwr4ve2q?ref_src=embed">[image or embed]</a></p>— BringYourOwn.Computer (<a href="https://bsky.app/profile/did:plc:wn774ojgaemblghs6xduynyq?ref_src=embed">@computer.bringyourown.computer</a>) <a href="https://bsky.app/profile/did:plc:wn774ojgaemblghs6xduynyq/post/3lazvnwr4ve2q?ref_src=embed">November 15, 2024 at 7:01 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>
+5
-6
_notes/Bring Your Own Server.md
+5
-6
_notes/Bring Your Own Server.md
···Maybe not quite the same category, these are packages that often take over an entire server in order to install apps and manage the entire operating system.+* [[Cloudron]]: I manage cloud VPS installs for [[CoSocial]], [[Commons Computer]], an old Fission / Causal Islands instance, and use this at home on the [[Lenovo M900 Tiny]].+* [[Coolify]]: I've done a couple of test installs, and the most interesting part is that unlike Cloudron, you can add multiple servers and manage installs across them. Mostly about individual docker app installs, not integrated system management.
+2
-4
_notes/Cloudron.md
+2
-4
_notes/Cloudron.md
···For the difference in price, I'd recommend at least the KVM 4 with 16GB RAM. Those are USD prices. You can use my referral code for one-click Cloudron installs on a [Hostinger VPS](https://hostinger.com/vps-hosting?REFERRALCODE=1BORIS58)-I'd love to try running a Cloudron install at home, but it all seems quite a bit trickier. You're still looking at a ~$500 mini server purchase, which is like 2 - 3 years of VPS hosting costs!+I have an install on my [[Lenovo M900 Tiny]]. Refurbished or re-purposed hardware can be cheap, but it's also more things you have to know about, and home Internet connections can be unstable.You'll need at least one domain name and more likely will have at least 2, so add another $10 - $30 per year in domain registration fees.···* MediaWiki, the wiki platform that powers Wikipedia and other sites (DokuWiki, HedgeDoc, WikiJS, Confluence, BookStack, and Outline are other supported apps that are wiki variants with slightly different specializations)The [Cloudron forum](https://forum.cloudron.io/) has lots of great discussions on apps, setup and use cases, as well as wishlists for new apps, and more.
+2
_notes/Lenovo M900 Tiny.md
+2
_notes/Lenovo M900 Tiny.md
+5
-2
_notes/Lenovo m900 Tiny Setup.md
+5
-2
_notes/Lenovo m900 Tiny Setup.md
···OK, we're up and running. I don't really have a plan for this machine, other than it's _inside_ my home. Let's setup a `home` group for permissions, which just has my `boris` user in it. I might give some other people accounts on Cloudron, but they shouldn't have access to this home group.I guess I'll start by just creating a [[Surfer]] app running, for static file serving and WebDAV, right at the base domain <https://home.bmann.ca>.+On [December 28th](https://bmannconsulting.com/journal/2024-12-28-0121/), I did an [[Ampache TinyHome Install]].+This is still a free Cloudron install, limited to 2 apps, so I have a [[Surfer]] install, and now this Ampache setup.+Yes, I'd like to get a [[PDS]] running locally at home, too, and ideally packaged for Cloudron.
+10
-1
_notes/PDS.md
+10
-1
_notes/PDS.md
···
+20
_notes/Surfer.md
+20
_notes/Surfer.md
···+It has [[WebDAV]] support, so you can mount it in MacOS finder and other tools, and edit and save websites and files directly.
+83
_notes/Tangara Setup.md
+83
_notes/Tangara Setup.md
···+<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:2cxgdrgtsmrbqnjkwyplmp43/app.bsky.feed.post/3ldu2c2r5jc2u" data-bluesky-cid="bafyreidw7cc6dm25ydqk7enm63x6ezrmdneoo5rlpiozvnsnasxkydatym"><p lang="en">I got my Tangara music player! cooltech.zone/tangara/+Yes that’s a click wheel!<br><br><a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43/post/3ldu2c2r5jc2u?ref_src=embed">[image or embed]</a></p>— Boris (<a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43?ref_src=embed">@bmann.ca</a>) <a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43/post/3ldu2c2r5jc2u?ref_src=embed">December 21, 2024 at 3:25 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>+<blockquote class="bluesky-embed" data-bluesky-uri="at://did:plc:2cxgdrgtsmrbqnjkwyplmp43/app.bsky.feed.post/3ldwi4d7zsc2p" data-bluesky-cid="bafyreiaiu775pb5oqihppu35fge4xi3ax3cyr2fdbsah4m4woacemqgjd4"><p lang="en">Ok got an SD card at Canadian Tire.+Briefly messed around with bandcampsync python script (copy cookie and session values from dev tools in browser LOL)+Guess I have to rethink music access again! Going to look at what Cloudron supports.<br><br><a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43/post/3ldwi4d7zsc2p?ref_src=embed">[image or embed]</a></p>— Boris (<a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43?ref_src=embed">@bmann.ca</a>) <a href="https://bsky.app/profile/did:plc:2cxgdrgtsmrbqnjkwyplmp43/post/3ldwi4d7zsc2p?ref_src=embed">December 22, 2024 at 2:36 PM</a></blockquote><script async src="https://embed.bsky.app/static/embed.js" charset="utf-8"></script>+[[beets]] is a command line tool that [Tangara recommends on their Music Librar page](https://cooltech.zone/tangara/docs/music-library/), their notes on beets copied here between the two lines:+Beets is a cross-platform command-line tool for organising your music collection. It handles normalising your directory structure and metadata formats, filling in missing metadata, and performing bulk operations on your collection. It also has a great ecosystem of plugins that extend its capabilities.+Once you've imported your collection into Beets, you can easily transcode anything in your library that can't be played by Tangara using the `convert`:+You can then make a converted copy of your entire library using `beet convert -d /path/to/sdcard`.+Note that `beet convert` will not overwrite existing files. This makes it very easy to sync any newly added tracks to Tangara, by simply repeating the same conversion command.+The library is backed up and synched in my iCloud Drive, and the Volume is the mounted SD card.+The [[Ampache TinyHome Install]] details how I've shuffled files around, and I should have my entire library available there soon enough.+How best to synch / update to the Tangara is unclear. Beets can move stuff around and de-duplicate, and I can open the WebDAV interface on my Macbook and I guess have beets run over the network?+> I have to update my beets config, that import / move yes currently moves / deletes from the source. I can also add a convert command to go AAC -> OPUS or mp3 as needed.+The [Tangara Companion is on github](https://github.com/haileys/tangara-companion). For MacOS, it's an unsigned release for x86 only, so you'll need to go into System Preferences > Security to allow it to run.+Once I got it to run, it never detected the Tangara when it was plugged in. Will have to check back on future releases.+More on [flashing firmware on the Cooltech Zone site](https://cooltech.zone/tangara/docs/flashing/).+It looks like I need the new firmware update to get this working correctly, where I can just use a USB-C cable and plug it into my Macbook and it will mount. It does show as connected when I use a USB-C cable, and charges from my Macbook, but it doesn't mount.
+18
_notes/Tangara.md
+18
_notes/Tangara.md
···Ran a [campaign on CrowdSupply](https://www.crowdsupply.com/cool-tech-zone/tangara), where I pre-ordered in February 2024. I received the player in mid December 2024.<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/1C597AkhGtw?si=Dq-U3MIQyTsBa04d" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>+Tool for updating firmware, both graphical and CLI tooling <https://github.com/haileys/tangara-companion>+* [Lua scripting](https://cooltech.zone/tangara/docs/lua/) - likely not for me, but will be interesting to see what other people come up with!+* [Assembly / Disassembly](https://cooltech.zone/tangara/docs/assembly/) - yes, I'd love a custom printed case!+* [Themes](https://cooltech.zone/tangara/docs/themes/) - it's a colour screen so you can do Lua stuff with it
+16
_notes/Unraid.md
+16
_notes/Unraid.md
···+> Unraid is an operating system for network-attached storage that lets you use what you have to build the server you want. Mix and match drives, securely store and share data, and manage VMs and Docker applications—all from a powerful, web-based interface.+The installation and operation is via a USB stick, which just seems great versus dealing with wiping drives and partititions.+Most interesting to me is running Windows in a VM. You can pass through a graphics card to enable gaming or video editing.+I don't want to manage a dedicated Windows box, and also don't want to dual boot and take down a Linux server, so this seems ideal.+I bought a licene and a test install on [[MiniPC Z-Space Server]], which isn't quite the right hardware for a Windows VM, because it doesn't have good graphic card options.
+16
_notes/Using Surfer to publish websites to Cloudron from Github Actions.md
+16
_notes/Using Surfer to publish websites to Cloudron from Github Actions.md
···+[[Surfer]] has a CLI tool that can be installed to automate publishing as part of [[Github Actions]] or other CI/CD workflows.+> You can setup your CI/CD to automatically push static files to surfer using the [CLI](https://docs.cloudron.io/apps/surfer/#cli-tool) as follows:
+17
_notes/beets.md
+17
_notes/beets.md
···+> Because beets is designed as a library, it can do almost anything you can imagine for your music collection. Via [plugins](http://beets.readthedocs.org/page/plugins/), beets becomes a panacea:+> - Fetch or calculate all the metadata you could possibly need: [album art](http://beets.readthedocs.org/page/plugins/fetchart.html), [lyrics](http://beets.readthedocs.org/page/plugins/lyrics.html), [genres](http://beets.readthedocs.org/page/plugins/lastgenre.html), [tempos](http://beets.readthedocs.org/page/plugins/echonest_tempo.html), [ReplayGain](http://beets.readthedocs.org/page/plugins/replaygain.html) levels, or [acoustic fingerprints](http://beets.readthedocs.org/page/plugins/chroma.html).+> - Get metadata from [MusicBrainz](http://musicbrainz.org/), [Discogs](http://www.discogs.com/), or [Beatport](http://www.beatport.com/). Or guess metadata using songs’ filenames or their acoustic fingerprints.+> - [Transcode audio](http://beets.readthedocs.org/page/plugins/convert.html) to any format you like.+> - Check your library for [duplicate tracks and albums](http://beets.readthedocs.org/page/plugins/duplicates.html) or for [albums that are missing tracks](http://beets.readthedocs.org/page/plugins/missing.html).
+16
_notes/iTunes Match.md
+16
_notes/iTunes Match.md
···+iTunes Match uploads and syncs all of your music between all of your devices, including music you add from your own sources -- i.e. not just purchased from iTunes Store.+> iTunes Match uploads your music library from the Apple Music app on your Mac or PC. Then you can access your music library on all of your devices that have [Sync Library turned on](https://support.apple.com/en-ca/118285).+> To subscribe to iTunes Match, update your Mac to the [latest version of macOS](https://support.apple.com/en-ca/108382). On your PC, make sure that you have the [latest version of the Apple Music app for Windows](https://support.apple.com/en-ca/118290).+i> iTunes Match isn't a back up service, so make sure to always have a back up of your music collection before you make any changes.
+8
_notes/rsky.md
+8
_notes/rsky.md
assets/2024/amperfy-home-dashboard.jpg
assets/2024/amperfy-home-dashboard.jpg
This is a binary file and will not be displayed.
assets/2024/amperfy-macos-dreamland-glass-animals.png
assets/2024/amperfy-macos-dreamland-glass-animals.png
This is a binary file and will not be displayed.