Document container build pattern and port navidrome (#192)
Some checks failed
Build Container / build (push) Failing after 4m28s

## Summary
- Add how-to guide (`docs/how-to/build-container-image.md`) covering the full container build workflow: directory layout, Dagger local builds, mise release task, and common patterns with links to existing containers
- Port navidrome from upstream `deluan/navidrome:0.60.3` to a custom three-stage build (`containers/navidrome/Dockerfile`) using Node + Go + Alpine
- Update navidrome deployment to use `registry.ops.eblu.me/blumeops/navidrome:v1.0.0`

## Deployment and Testing
- [x] `dagger call build --src=. --container-name=navidrome` builds successfully
- [ ] After merge: `mise run container-tag-and-release navidrome v1.0.0`
- [ ] After image published: `argocd app sync navidrome` and verify pod starts

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/192
This commit is contained in:
Erich Blume 2026-02-15 08:05:11 -08:00
commit 996441876d
5 changed files with 159 additions and 1 deletions

View file

@ -16,6 +16,7 @@ Task-oriented instructions for common BlumeOps operations. These guides assume y
| [[deploy-k8s-service]] | Deploy a new service to Kubernetes via ArgoCD |
| [[add-ansible-role]] | Add a new Ansible role for indri services |
| [[create-release-artifact-workflow]] | Build artifacts and publish to Forgejo packages |
| [[build-container-image]] | Build and release a custom container image via Dagger |
## Configuration