Compare commits
3
Commits
a112b03ba1
...
ae686f9b55
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae686f9b55 | ||
|
|
9c4580a522 | ||
|
|
4e3ad00202 |
No files matched your search
@@ -104,6 +104,10 @@ temp/*
|
|||||||
# kubernetes
|
# kubernetes
|
||||||
*/k8s/*secret*
|
*/k8s/*secret*
|
||||||
!*/k8s/*secret*.example
|
!*/k8s/*secret*.example
|
||||||
|
**/k8s/*secret*
|
||||||
|
!**/k8s/*secret*.example
|
||||||
|
# Local-only tweaks, not for upstream
|
||||||
|
prometheus-stack/k8s/grafana-values.yaml
|
||||||
traefik/k8s/local-tls.yaml
|
traefik/k8s/local-tls.yaml
|
||||||
converters/k8s/config.yaml
|
converters/k8s/config.yaml
|
||||||
convertx/k8s/config.yaml
|
convertx/k8s/config.yaml
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
metube:
|
metube:
|
||||||
image: ghcr.io/alexta69/metube:2026.09.15
|
image: ghcr.io/alexta69/metube:2026.09.20
|
||||||
container_name: metube
|
container_name: metube
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
# ports:
|
# ports:
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: metube
|
- name: metube
|
||||||
image: ghcr.io/alexta69/metube:2026.09.15
|
image: ghcr.io/alexta69/metube:2026.09.20
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: metube-config
|
name: metube-config
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
n8n:
|
n8n:
|
||||||
image: docker.n8n.io/n8nio/n8n:2.40.3
|
image: docker.n8n.io/n8nio/n8n:2.40.4
|
||||||
container_name: n8n
|
container_name: n8n
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
+1
-1
@@ -27,7 +27,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: n8n
|
- name: n8n
|
||||||
image: docker.n8n.io/n8nio/n8n:2.40.3
|
image: docker.n8n.io/n8nio/n8n:2.40.4
|
||||||
envFrom:
|
envFrom:
|
||||||
- configMapRef:
|
- configMapRef:
|
||||||
name: n8n-config
|
name: n8n-config
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ spec:
|
|||||||
- alert: TraefikServiceHighLatency
|
- alert: TraefikServiceHighLatency
|
||||||
expr: |
|
expr: |
|
||||||
histogram_quantile(0.95,
|
histogram_quantile(0.95,
|
||||||
sum(rate(traefik_service_request_duration_seconds_bucket[5m])) by (le, service)) > 2
|
sum(rate(traefik_service_request_duration_seconds_bucket{service!~"xui-xui-service-.*"}[5m])) by (le, service)) > 2
|
||||||
for: 5m
|
for: 5m
|
||||||
labels:
|
labels:
|
||||||
severity: warning
|
severity: warning
|
||||||
|
|||||||
Whitespace-only changes.
@@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: xui-config
|
||||||
|
namespace: xui
|
||||||
|
data:
|
||||||
|
XUI_DB_FOLDER: "/etc/x-ui"
|
||||||
|
XUI_ENABLE_FAIL2BAN: "false"
|
||||||
|
XUI_INIT_WEB_BASE_PATH: "/"
|
||||||
|
XUI_LOG_LEVEL: "warning"
|
||||||
|
XUI_PORT: "30379"
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: xui-local
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`xui.workstation.internal`) || Host(`xui.gigaforust.internal`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: xui-service
|
||||||
|
port: 30379
|
||||||
|
---
|
||||||
|
# Public panel access (optional).
|
||||||
|
# Realistic, but intentionally disabled: the panel has its own login,
|
||||||
|
# security-chain adds Authentik in front of it.
|
||||||
|
# To enable: uncomment and add Public Hostname `xui.forust.xyz`
|
||||||
|
# in the Cloudflare tunnel (same as other *.forust.xyz hosts).
|
||||||
|
# ---
|
||||||
|
# apiVersion: traefik.io/v1alpha1
|
||||||
|
# kind: IngressRoute
|
||||||
|
# metadata:
|
||||||
|
# name: xui-prod
|
||||||
|
# namespace: xui
|
||||||
|
# spec:
|
||||||
|
# entryPoints:
|
||||||
|
# - websecure
|
||||||
|
# routes:
|
||||||
|
# - match: Host(`xui.forust.xyz`)
|
||||||
|
# kind: Rule
|
||||||
|
# middlewares:
|
||||||
|
# - name: security-chain@file
|
||||||
|
# services:
|
||||||
|
# - name: xui-service
|
||||||
|
# port: 30379
|
||||||
|
# tls:
|
||||||
|
# certResolver: letsencrypt
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: xray-prod
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`xray.forust.xyz`) && PathPrefix(`/pzzfpz6oi281f0u8`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: xui-service
|
||||||
|
port: 2096
|
||||||
|
- match: Host(`xray.forust.xyz`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: xui-service
|
||||||
|
port: 10000
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
---
|
||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: xray-local
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: (Host(`xray.workstation.internal`) || Host(`xray.gigaforust.internal`)) && PathPrefix(`/pzzfpz6oi281f0u8`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: xui-service
|
||||||
|
port: 2096
|
||||||
|
- match: Host(`xray.workstation.internal`) || Host(`xray.gigaforust.internal`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: xui-service
|
||||||
|
port: 10000
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: xui
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: xui-service
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: xui
|
||||||
|
ports:
|
||||||
|
- port: 30379
|
||||||
|
name: panel
|
||||||
|
targetPort: 30379
|
||||||
|
- port: 10000
|
||||||
|
name: xray
|
||||||
|
targetPort: 10000
|
||||||
|
- port: 2096
|
||||||
|
name: sub
|
||||||
|
targetPort: 2096
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: xui-deployment
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: xui
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: xui
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: xui
|
||||||
|
image: ghcr.io/mhsanaei/3x-ui:v3.8.5
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: xui-config
|
||||||
|
tty: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 30379
|
||||||
|
name: panel
|
||||||
|
- containerPort: 10000
|
||||||
|
name: xray
|
||||||
|
- containerPort: 2096
|
||||||
|
name: sub
|
||||||
|
volumeMounts:
|
||||||
|
- name: x-ui-db
|
||||||
|
mountPath: /etc/x-ui
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "128Mi"
|
||||||
|
cpu: "100m"
|
||||||
|
limits:
|
||||||
|
memory: "1Gi"
|
||||||
|
cpu: "1000m"
|
||||||
|
volumes:
|
||||||
|
- name: x-ui-db
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: xui-pvc
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: xui-pvc
|
||||||
|
namespace: xui
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
Reference in new issue
Block a user