mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
Port conflict resolution: - Add HelmChartConfig to pin Traefik web entrypoint to NodePort 30080 (not host :80) so k3s Traefik and host Caddy do not race for the port - Add host Caddy on :80 as a minimal pass-through to Traefik :30080; carries X-Forwarded-* headers so Traefik sees the real client IP and the correct Host. No TLS, no Porkbun, no subdomain logic — all of that stays on the edge Caddy (k3s-edge.nix) - Caddy after= k3s.service so Traefik NodePort is ready before proxying Authentik port fix: - Change authentik server + worker services from NodePort 30080 to ClusterIP; Traefik reaches Authentik via the rs-auth Ingress and cluster DNS, no NodePort required New manifests (internal, no public-traffic impact): - manifests/ingress/: Traefik Ingress resources + Middleware CRDs (/apps/*, /server/* → forward_auth + strip-prefix; /api/* → strip only; / → Homer + forward_auth; auth.* → Authentik, no middleware) - manifests/hermes/: placeholder chat/orchestrator service - manifests/credential-server/: token-auth credential vault stub - manifests/control-plane/: registry-api, jobs-api, blobs-api health stubs - manifests/homer/configmap.yaml: updated dashboard links to canonical paths Deploy order: rebuild k3s-server first, verify Traefik + Ingress internally, then deploy k3s-edge (commit 3 / next step). Generated with Devin (https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
68 lines
2.1 KiB
YAML
68 lines
2.1 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: homer-config
|
|
namespace: services
|
|
data:
|
|
config.yml: |
|
|
title: "Research Stack"
|
|
subtitle: "researchstack.info"
|
|
header: true
|
|
footer: false
|
|
columns: "3"
|
|
services:
|
|
- name: "Applications"
|
|
icon: "fas fa-rocket"
|
|
items:
|
|
- name: "Hermes"
|
|
subtitle: "Chat / orchestrator"
|
|
url: "https://researchstack.info/apps/chat/"
|
|
target: "_blank"
|
|
- name: "Jellyfin"
|
|
subtitle: "Media streaming"
|
|
url: "https://researchstack.info/apps/jellyfin/"
|
|
target: "_blank"
|
|
- name: "Navidrome"
|
|
subtitle: "Music"
|
|
url: "https://researchstack.info/apps/music/"
|
|
target: "_blank"
|
|
- name: "Audiobookshelf"
|
|
subtitle: "Books & podcasts"
|
|
url: "https://researchstack.info/apps/books/"
|
|
target: "_blank"
|
|
- name: "Actual Budget"
|
|
subtitle: "Personal finance"
|
|
url: "https://researchstack.info/apps/budget/"
|
|
target: "_blank"
|
|
|
|
- name: "Server"
|
|
icon: "fas fa-server"
|
|
items:
|
|
- name: "Uptime Kuma"
|
|
subtitle: "Service status"
|
|
url: "https://researchstack.info/server/status/"
|
|
target: "_blank"
|
|
- name: "Homarr"
|
|
subtitle: "Dashboard"
|
|
url: "https://researchstack.info/server/dash/"
|
|
target: "_blank"
|
|
- name: "Vaultwarden"
|
|
subtitle: "Password vault"
|
|
url: "https://researchstack.info/server/vault/"
|
|
target: "_blank"
|
|
|
|
- name: "Identity & APIs"
|
|
icon: "fas fa-id-card"
|
|
items:
|
|
- name: "Authentik"
|
|
subtitle: "Single sign-on"
|
|
url: "https://auth.researchstack.info"
|
|
target: "_blank"
|
|
- name: "Registry API"
|
|
subtitle: "Node join & heartbeat"
|
|
url: "https://researchstack.info/api/registry/"
|
|
target: "_blank"
|
|
- name: "Job Router"
|
|
subtitle: "Compute dispatch"
|
|
url: "https://researchstack.info/api/jobs/"
|
|
target: "_blank"
|