No description
|
All checks were successful
deploy-plex-argocd-application / Apply Plex Argo CD application (push) Successful in 10s
Plex was running out of space for transcoding/conversion on the config volume (82% full with only 178MB free). Made-with: Cursor |
||
|---|---|---|
| .forgejo/workflows | ||
| .git-crypt | ||
| argocd | ||
| k8s | ||
| .gitattributes | ||
| kustomization.yaml | ||
| README.md | ||
| secrets.yaml | ||
Plex for Argo CD
This directory contains a plain-manifest Plex deployment intended to be synced by Argo CD.
CI bootstrap:
.forgejo/workflows/deploy-argocd-application.yamlapplies the Argo CDApplicationand forces a refresh on pushes tomain.- The workflow requires repository secret
K8S_KUBECONFIG_B64containing a base64-encoded admin kubeconfig with permission to manage resources in namespaceargocd. - Optional repository secret
PLEX_CLAIMlets the workflow createplex-bootstrapin-cluster before Argo sync. This is the practical way to handle the claim token when the repo usesgit-crypt, because Argo CD does not decryptgit-cryptcontent on its own.
Assumptions baked into the manifests:
- Plex runs in namespace
plex. - The web UI is exposed at
https://plex.i.psilva.org. - Media is mounted read-only from
nas.i.psilva.org:/mnt/GPool1/media. - Plex config data is stored on Ceph RBD via StorageClass
rook-ceph-block-retainand PVCplex-config-ceph. - The NAS export is readable by UID/GID
1000; adjustPUIDandPGIDin the ConfigMap if needed. - Native Plex clients should use your existing Ingress/TCP proxy for
32400; you typically do not need an external LoadBalancer. - Claim token note: the initial "Claim Plex Media Server" usually only succeeds when you connect to
http://<plex-ip>:32400/webfrom the same LAN/subnet (this avoids Plex "Not authorized" during the bootstrap step). - After Plex is claimed successfully, you can typically access Plex normally via your existing TCP proxy/Ingress for
32400(no need to create a separate extra LoadBalancer just for claiming).
Bootstrap secret:
secrets.yamlis a KubernetesSecretmanifest forplex-bootstrap.- This repo is intended to protect
secrets.yamlwithgit-crypt. secrets.yamlis not part of the Argo render path. If you want automated bootstrap through CI, use Forgejo repository secretPLEX_CLAIMinstead.
Argo CD repo assumption:
argocd/application.yamlassumes the repo will be published ashttps://forgejo.i.psilva.org/gabepsilva/homelab-plex.gitand synced from the repo root.