Commit graph

1010 commits

Author SHA1 Message Date
Viktor Barzin
d911db6cd9
[ci skip] Deploy Gramps Web genealogy service
Add grampsweb module with web app + Celery worker in a single pod,
using shared Redis (DB 2/3), NFS storage, email via mailserver,
and Ollama AI integration. Available at family.viktorbarzin.me.
2026-02-08 02:30:18 +00:00
Viktor Barzin
43bee50de8
[ci skip] Deploy health dashboard service
Apple Health data visualization app (Svelte + FastAPI + Caddy).
Uses shared PostgreSQL via DBaaS, NFS storage for uploads,
accessible at health.viktorbarzin.me.
2026-02-08 01:54:24 +00:00
Viktor Barzin
44a17f8089
[ci skip] Add Ollama TCP entrypoint for HA voice pipeline
Expose Ollama at 10.0.20.202:11434 via Traefik TCP passthrough,
bypassing TLS/auth issues with the HTTPS ingress.
2026-02-08 01:51:43 +00:00
Viktor Barzin
bdbd354396
[ci skip] Add Wyoming Piper TTS alongside Whisper STT
Deploy Piper (rhasspy/wyoming-piper) in the whisper namespace with
en_US-lessac-medium voice. Exposed via Traefik TCP on port 10200.
2026-02-08 01:51:43 +00:00
Viktor Barzin
d89947c2fd
[ci skip] Deploy Wyoming Whisper STT service for Home Assistant voice input
Add Wyoming Faster Whisper (rhasspy/wyoming-whisper) as a new K8s service
exposed via Traefik TCP entrypoint on port 10300. Accessible from ha-london
RPi via VPN at 10.0.20.202:10300.
2026-02-08 01:51:43 +00:00
Viktor Barzin
e04fabaa72
[ci skip] Fix registry tag cleanup for pull-through cache
- Rewrite cleanup script to use filesystem deletion (shutil.rmtree)
  since proxy registries don't support DELETE via API (405)
- Fix cron entry to invoke with python3
2026-02-07 22:45:17 +00:00
Viktor Barzin
1ff5242a57
Bump Immich version from v2.5.2 to v2.5.5 2026-02-07 22:38:33 +00:00
Viktor Barzin
b27e1ad9f1
Add Docker registry UI and tag cleanup automation
Deploy joxit/docker-registry-ui on port 8080 for browsing images/tags.
Add Python script to prune old registry tags (keeps last N per image),
scheduled daily at 2am via cron. Expose UI via reverse proxy at
registry.viktorbarzin.me with Authentik auth.
2026-02-07 22:38:15 +00:00
Viktor Barzin
8fabc3d49b
[ci skip] Enable HTTP/3 (QUIC) for all ingresses
- Add http3.enabled + advertisedPort=443 to Traefik websecure entrypoint
- Add cloudflare_zone_settings_override to enable HTTP/3 for proxied domains
2026-02-07 20:43:49 +00:00
Viktor Barzin
a81e44dd82
[ci skip] Strip Authentik auth headers before forwarding to backend
Add strip-auth-headers Traefik middleware that removes X-authentik-*
headers from requests before they reach the backend. Backends like
iDRAC and TP-Link gateway break when receiving these extra headers.
2026-02-07 20:28:44 +00:00
Viktor Barzin
c1eac81095
[ci skip] Fix DNS forwarding through Traefik to Technitium
Expose UDP port 53 on the Traefik LoadBalancer service and enable
cross-namespace CRD references so the IngressRouteUDP in the traefik
namespace can route DNS traffic to technitium-dns in the technitium
namespace. This restores DNS resolution via 10.0.20.202 for pfSense
and Home Assistant.
2026-02-07 20:10:47 +00:00
Viktor Barzin
d4cf63dce9
[ci skip] Fix HTTPS backend proxying for reverse-proxy services
- Add insecureSkipVerify=true globally for self-signed backend certs
- Name service ports with https- prefix for HTTPS backends so Traefik uses HTTPS
- Add ServersTransport CRD for per-service insecureSkipVerify
- Add serversscheme/serverstransport annotations to reverse-proxy factory
2026-02-07 13:56:24 +00:00
Viktor Barzin
5bf2040491
[ci skip] Remove unsupported advertisedPort from Traefik Helm values 2026-02-07 13:41:06 +00:00
Viktor Barzin
3c2d496f45
[ci skip] Add --api.insecure=true to Traefik for dashboard access on port 8080 2026-02-07 13:35:58 +00:00
Viktor Barzin
c32acc70e6
Migrate all service modules from nginx-ingress to Traefik
- Remove nginx-specific ingress variables (use_proxy_protocol, proxy_timeout, additional_configuration_snippet)
- Update ingress annotations to use Traefik middleware CRDs
- Delete nginx-ingress module (replaced by traefik)
- Add new traefik middleware.tf for shared middleware definitions
- Update service modules to work with new ingress_factory interface
2026-02-07 13:25:49 +00:00
Viktor Barzin
0315dd4044
Migrate ingress_factory from nginx to Traefik annotations
- Replace nginx ingress class and annotations with Traefik middleware CRDs
- Add Traefik router middleware chain: rate-limit, CSP, CrowdSec, Authentik
- Remove nginx-specific proxy settings (handled by Traefik config)
- Add exclude_crowdsec and custom_content_security_policy options
- Add rybbit analytics and custom CSP middleware resources
2026-02-07 13:24:58 +00:00
Viktor Barzin
c0b7fd10d5
Add ssh_private_key/ssh_public_key variables to create-template-vm module 2026-02-07 13:19:15 +00:00
Viktor Barzin
792f76454c
Add Traefik dashboard ingress with Authentik protection
- Enable api.insecure in Helm values for internal dashboard access on port 8080
- Add TLS secret, dashboard service, and ingress via ingress_factory (protected=true)
- Pass tls_secret_name to traefik module
- Add traefik to cloudflare_non_proxied_names DNS list
2026-02-07 13:06:57 +00:00
Viktor Barzin
877650034e
Fix AFFiNE init container migration command for v0.26.0
The stable image removed scripts/self-host-predeploy.js. Use the new
predeploy flow: prisma migrate + dist/main.js run.

[ci skip]
2026-02-07 10:33:43 +00:00
Viktor Barzin
af38a71183 Add excalidraw project gitignore and README 2026-02-06 20:38:32 +00:00
Viktor Barzin
306ee8e6ee
[ci skip] add blotting book repo 2026-02-06 20:32:08 +00:00
Viktor Barzin
cf25e1af4e
Add Celery worker/beat deployments and fix crawler API config
Add celery worker and celery beat deployments for background task
processing and scheduled scraping. Fix API container name, add
image_pull_policy Always, and add missing path_type to ingress rules.
2026-02-06 20:31:34 +00:00
Viktor Barzin
ccf25cc99c Upgrade immich to v2.5.2 and add GPU toleration to ML pod
Bump immich version from v2.5.0 to v2.5.2. Add nvidia.com/gpu
toleration to immich-machine-learning deployment.
2026-02-06 20:28:29 +00:00
Viktor Barzin
27c8d60555 Forward authentik response headers through ingress
Add auth-response-headers annotation to pass user identity headers
(username, uid, email, name, groups) from authentik to backend services.
2026-02-06 20:26:21 +00:00
Viktor Barzin
a394c7a7ca Add audiblez-web application source
Web frontend for audiblez audiobook conversion with FastAPI backend.
2026-02-06 20:24:10 +00:00
Viktor Barzin
596c02dfde Add audiblez-web service and refactor ebook2audiobook deployments
Uncomment ebook2audiobook deployment with proper GPU tolerations
(set to 0 replicas). Disable audiblez CLI deployment in favor of
audiblez-web. Add new audiblez-web deployment, service, and ingress
with GPU support, large upload limits, and auth protection.
2026-02-06 20:22:05 +00:00
Viktor Barzin
9689b67895 Add GPU node taint tolerations and enhance GPU memory exporter
Add nvidia.com/gpu toleration to all GPU workloads (frigate, ollama)
to support NoSchedule taint on GPU nodes. Update nvidia operator
helm values with daemonset tolerations. Enhance GPU pod memory
exporter with Kubernetes API integration to resolve container IDs
to pod names/namespaces, adding RBAC resources for API access.
2026-02-06 20:19:26 +00:00
Viktor Barzin
29567103d6 Add DRONE_WEBHOOK_SECRET for GitHub webhook authentication
Fixes webhook signature validation failures causing 400 errors.
2026-02-01 20:42:07 +00:00
Viktor Barzin
4a857ebefd Add per-pod GPU memory metrics exporter
- Add DaemonSet that runs on GPU node and exposes Prometheus metrics
- Uses nvidia-smi to collect per-process GPU memory usage
- Maps PIDs to container IDs via /proc/<pid>/cgroup
- Exposes gpu_pod_memory_used_bytes metric at :9401/metrics
- Add Prometheus scrape config for gpu-pod-memory job

[ci skip]
2026-01-31 16:58:14 +00:00
Viktor Barzin
09a5e3a273
Add crowdsec-blocklist-import CronJob
Import public threat intelligence blocklists into CrowdSec daily at 4 AM.
Uses kubectl exec to run the import script inside an existing CrowdSec
agent pod that is already registered with the LAPI.

Source: https://github.com/wolffcatskyy/crowdsec-blocklist-import

[ci skip]
2026-01-28 20:11:44 +00:00
Viktor Barzin
2ac92167c5
fix resume pdf generation [ci skip] 2026-01-28 19:42:13 +00:00
Viktor Barzin
eeabe652d3
upgrade immich to 2.5.0 [ci skip] 2026-01-28 19:41:52 +00:00
Viktor Barzin
078e1eeeef
add the yt-highlights app [ci skip] 2026-01-28 18:03:49 +00:00
Viktor Barzin
f867de6e7d
ad service for youtube video highlights [ci skip] 2026-01-28 17:58:39 +00:00
Viktor Barzin
19a41367ba
add reactive resume service [ci skip] 2026-01-28 17:57:39 +00:00
Viktor Barzin
92e58d3b62
increase the num of nvidia slices to 20 [ci skip] 2026-01-26 20:41:59 +00:00
Viktor Barzin
947c5d3d19 Add AFFiNE visual canvas for storytelling
- Deploy AFFiNE as self-hosted visual canvas tool
- Uses shared PostgreSQL and Redis from cluster
- NFS storage for uploads and configuration
- Email configured via mailserver.viktorbarzin.me
- Ingress at affine.viktorbarzin.me

[ci skip]
2026-01-25 21:40:39 +00:00
Viktor Barzin
a849e6fae8
add excalidraw with support for storing drawings per user [ci skip] 2026-01-25 00:46:26 +00:00
Viktor Barzin
3bda3ab956
reduce the frequency of polling idrac and remove some duplicates [ci skip] 2026-01-24 18:47:22 +00:00
Viktor Barzin
6928fd29bb
add mcaptcha [ci skip] 2026-01-24 18:46:47 +00:00
Viktor Barzin
0b58abc7b7
add crowdsec rule ot skip my home ip[ci skip] 2026-01-24 18:46:12 +00:00
Viktor Barzin
fe05b1442c
use hcaptcha with nginx [ci skip] 2026-01-24 18:45:41 +00:00
Viktor Barzin
82ae4b411a
add mcaptcha but disabled as we found another way[ci skip] 2026-01-24 18:43:43 +00:00
Viktor Barzin
6e4cfb4c3a
add ollama-api ingress accessible only locally to allow claude code [ci skip] 2026-01-19 20:15:46 +00:00
Viktor Barzin
d8eab79593
preload immich models so they are always fresh [ci skip] 2026-01-19 20:15:09 +00:00
Viktor Barzin
9aa7328b9b
add boilerplate for adding basic auth as fallback when authentik is down [ci skip] 2026-01-18 14:05:24 +00:00
Viktor Barzin
4642522fd5
update resume to be a bit more working; still not workign but closer...[ci skip] 2026-01-18 14:05:01 +00:00
Viktor Barzin
cc419c68b7
disallow my sites from being iframed [ci skip] 2026-01-18 13:41:20 +00:00
Viktor Barzin
d751a5924c add prometheus alerts for deployment/statefulset/daemonset replica mismatches [ci skip]
- Add DeploymentReplicasMismatch alert
- Add StatefulSetReplicasMismatch alert
- Add DaemonSetMissingPods alert
- Add .claude/ directory with remote executor and knowledge base
2026-01-18 11:04:51 +00:00
Viktor Barzin
70952c2448
do not unload immich ML model [ci skip] 2026-01-17 23:39:46 +00:00