mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-12 17:26:19 +00:00
Add audiobookserver (#258)
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
---
|
||||
description: CHANGELOG - What's new in the cookbook
|
||||
search:
|
||||
exclude: true
|
||||
---
|
||||
|
||||
# CHANGELOG
|
||||
|
||||
This category lists the posts which highlight new and improved recipes in Funky Penguin's Geek Cookbook. The idea is that subscribing to the [RSS feed](/rss/) will provide automatic notification of fresh recipes!
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
---
|
||||
description: Funky Penguin's notes-in-progress
|
||||
title: Blog / Notes
|
||||
search:
|
||||
exclude: true
|
||||
---
|
||||
|
||||
# Notes
|
||||
|
||||
Sometimes you discover something which doesn't fit neatly into the "recipe" format. That's what this category of blog posts is for. I note information I don't want to loose, but I don't know (yet) how to fit it into the structure of the cookbook.
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
---
|
||||
description: My reviews of popular self-hosted apps
|
||||
title: Funky Penguin reviews self-hosted tools
|
||||
search:
|
||||
exclude: true
|
||||
---
|
||||
|
||||
# Funky Penguin's Reviews
|
||||
|
||||
I love experimenting with new self-hosted tools. Typically I'll review a tool while creating a recipe, although popular enough tools (*like [Plex][plex]*) don't **need** a review, in which case I'll just jump straight into the recipe!
|
||||
|
||||
--8<-- "common-links.md"
|
||||
--8<-- "common-links.md"
|
||||
|
||||
@@ -2,4 +2,6 @@ authors:
|
||||
- funkypenguin
|
||||
links:
|
||||
- 🛟 Get help: support.md
|
||||
- 🤝 Work with me: https://www.funkypenguin.co.nz/work-with-me
|
||||
- 🤝 Work with me: https://www.funkypenguin.co.nz/work-with-me
|
||||
search:
|
||||
boost: -0.1
|
||||
26
docs/blog/posts/changelog/new-recipe-audiobookshelf-swarm.md
Normal file
26
docs/blog/posts/changelog/new-recipe-audiobookshelf-swarm.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
date: 2023-03-10
|
||||
categories:
|
||||
- CHANGELOG
|
||||
tags:
|
||||
- audiobookshelf
|
||||
links:
|
||||
- Audiobookshelf recipe: recipes/audiobookshelf.md
|
||||
description: New Recipe Added - Audiobookshelf - self-hosted audiobook / podcast server with native mobile apps
|
||||
title: Added recipe for Audiobookshelf on Docker Swarm
|
||||
image: /images/audiobookshelf.png
|
||||
---
|
||||
|
||||
# Added recipe for Audiobookshelf (swarm)
|
||||
|
||||
Has your wife been wishing for a way to consume her DRM-stripped audiobooks on her phone, without having to resort to side-loading apps or media? Fear not, for this new recipe has received 10/10 WAF (wife-acceptance-factor)...
|
||||
|
||||
<!-- more -->
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
[Audiobookshelf][audiobookshelf] is a powerful audiobook / podcast streaming server, whose strength lies in its native app support on [Android](https://play.google.com/store/apps/details?id=com.audiobookshelf.app) / [iOS](https://testflight.apple.com/join/wiic7QIW) (*Testflight required*).
|
||||
|
||||
See the [recipe][audiobookshelf] for more!
|
||||
|
||||
--8<-- "common-links.md"
|
||||
@@ -23,4 +23,4 @@ MetalLB does two jobs:
|
||||
1. Provides address allocation to services out of a pool of addresses which you define
|
||||
2. Announces these addresses to devices outside the cluster, either using ARP/NDP (L2) or BGP (L3)
|
||||
|
||||
--8<-- "common-links.md"
|
||||
--8<-- "common-links.md"
|
||||
|
||||
@@ -10,9 +10,9 @@ description: Here's how to configure Renovate to only create 1 PR per-file, even
|
||||
|
||||
# Consolidating multiple manager changes in Renovate PRs
|
||||
|
||||
I work on several large clusters, administered using [FluxCD](/kubernetes/deployment/flux/), which in which we carefully manage the update of Helm releases using Flux's `HelmRelease` CR.
|
||||
I work on several large clusters, administered using [FluxCD](/kubernetes/deployment/flux/), which in which we carefully manage the update of Helm releases using Flux's `HelmRelease` CR.
|
||||
|
||||
Recently, we've started using [Renovate](https://github.com/renovatebot/renovate) to alert us to pending upgrades, by creating PRs when a helm update _or_ an image update in the associated helm values.yaml is available (*I like to put the upstream chart's values in to the `HelmRelease` so that changes can be tracked in one place*)
|
||||
Recently, we've started using [Renovate](https://github.com/renovatebot/renovate) to alert us to pending upgrades, by creating PRs when a helm update *or* an image update in the associated helm values.yaml is available (*I like to put the upstream chart's values in to the `HelmRelease` so that changes can be tracked in one place*)
|
||||
|
||||
The problem is, it's likely that the images in a chart's `values.yaml` **will** be updated when the chart is updated, but I don't need a separate PR for each image! (*imagine a helm chart with 10 image references!*)
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ description: Want to run your Mastodon instance behind Cloudflare, but put your
|
||||
|
||||
# Mastodon + CloudFlare + B2 Object Storage = free egress
|
||||
|
||||
When setting up my [Mastodon instance](https://so.fnky.nz), I jumped directly to storing all media in object storage (*Backblaze B2, in my case*), because I didn't want to allocate / estimate local storage requirements.
|
||||
When setting up my [Mastodon instance](https://so.fnky.nz), I jumped directly to storing all media in object storage (*Backblaze B2, in my case*), because I didn't want to allocate / estimate local storage requirements.
|
||||
|
||||
This turned out to be a great decision, as my media bucket quickly grew to over 100GB, but as a result, all of my media was served behind URLs like `https://f007.backblaze.com/file/something/something-else/another-something.jpg`, and could _technically_ be scraped without using my Mastodon URL.
|
||||
This turned out to be a great decision, as my media bucket quickly grew to over 100GB, but as a result, all of my media was served behind URLs like `https://f007.backblaze.com/file/something/something-else/another-something.jpg`, and could *technically* be scraped without using my Mastodon URL.
|
||||
|
||||
Here's how to improve this, and also serve your Mastodon instance from behind a CloudFlare proxy...
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ podAnnotations:
|
||||
2. This attaches the above volume at `/scratch`
|
||||
3. It's necessary to sleep for "a period" before attempting the restore, so that postegresql has time to start up and be ready to interact with the `pg_restore` command.
|
||||
|
||||
[^1]: Details at https://github.com/bitnami/charts/tree/main/bitnami/postgresql
|
||||
[^1]: See the bitnami chart [here](https://github.com/bitnami/charts/tree/main/bitnami/postgresql)
|
||||
|
||||
During the process of setting up the preHooks for various iterations of a postgresql instance, I discovered that Velero will not necessary check that carefully re whether the hooks returned successfully or not. It's best to completely simulate a restore/backup of your pods by execing into the pod, and running each hook command manually, ensuring that you get the expected result.
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
---
|
||||
search:
|
||||
exclude: true
|
||||
---
|
||||
# Tags
|
||||
|
||||
Following is a list of relevant tags:
|
||||
|
||||
[TAGS]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user