Research-Stack/4-Infrastructure/kube/manifests/trailbase-flaresolverr.yaml
Brandon Schneider 1b816fafe7 feat(infra): media stack, Vaultwarden, Cloudflare tunnel, OIDC providers, Caddy TLS
- Media stack deployed: qBittorrent, Sonarr, Radarr, Lidarr, Prowlarr, Bazarr,
  Navidrome, Audiobookshelf, Jellyfin, Homarr, Kavita, MeTube, SuggestArr, BoxArr
- Romm, ebook2audiobook (GPU CUDA), TrailBase, FlareSolverr deployed
- Vaultwarden + Vaultwarden-API deployed
- Caddy reverse proxy on racknerd with Let's Encrypt TLS at *.researchstack.info
- Authentik 7 OIDC providers + 12 proxy providers for SSO
- NVIDIA GPU support enabled on k3s (device plugin + containerd runtime)
- Cloudflare tunnel created (DNS on Porkbun)

Build: 3313 jobs, 0 errors (lake build Compiler)
2026-05-31 11:01:39 -05:00

110 lines
2.1 KiB
YAML

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: trailbase-depot
namespace: media
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: local-path
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: trailbase
namespace: media
spec:
replicas: 1
selector:
matchLabels:
app: trailbase
template:
metadata:
labels:
app: trailbase
spec:
nodeSelector:
kubernetes.io/hostname: qfox-1
containers:
- name: trailbase
image: trailbase/trailbase:latest
command: ["/app/trail", "run"]
ports:
- containerPort: 4000
env:
- name: ADDRESS
value: "0.0.0.0:4000"
volumeMounts:
- name: depot
mountPath: /app/traildepot
volumes:
- name: depot
persistentVolumeClaim:
claimName: trailbase-depot
---
apiVersion: v1
kind: Service
metadata:
name: trailbase
namespace: media
spec:
type: NodePort
ports:
- port: 4000
targetPort: 4000
nodePort: 30104
selector:
app: trailbase
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: flaresolverr
namespace: media
spec:
replicas: 1
selector:
matchLabels:
app: flaresolverr
template:
metadata:
labels:
app: flaresolverr
spec:
nodeSelector:
kubernetes.io/hostname: qfox-1
containers:
- name: flaresolverr
image: ghcr.io/flaresolverr/flaresolverr:latest
ports:
- containerPort: 8191
env:
- name: LOG_LEVEL
value: "info"
- name: HEADLESS
value: "true"
resources:
requests:
memory: "1Gi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2"
---
apiVersion: v1
kind: Service
metadata:
name: flaresolverr
namespace: media
spec:
type: NodePort
ports:
- port: 8191
targetPort: 8191
nodePort: 30105
selector:
app: flaresolverr