mirror of
https://github.com/auricom/home-cluster.git
synced 2025-09-30 15:37:44 +02:00
🚀 nitter
This commit is contained in:
2
.github/renovate.json5
vendored
2
.github/renovate.json5
vendored
@@ -86,7 +86,7 @@
|
||||
{
|
||||
"matchDatasources": ["docker"],
|
||||
"versioning": "loose",
|
||||
"matchPackageNames": ["ghcr.io/onedr0p/qbittorrent"]
|
||||
"matchPackageNames": ["ghcr.io/onedr0p/qbittorrent", "docker.io/zedeus/nitter", "quay.io/invidious/invidious"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -9,6 +9,7 @@ resources:
|
||||
- invidious
|
||||
- joplin
|
||||
- music-transcode
|
||||
- nitter
|
||||
- sharry
|
||||
- tandoor
|
||||
- theme-park
|
||||
|
45
cluster/apps/web-tools/nitter/config/config.yml
Normal file
45
cluster/apps/web-tools/nitter/config/config.yml
Normal file
@@ -0,0 +1,45 @@
|
||||
[Server]
|
||||
address = "0.0.0.0"
|
||||
port = 8080
|
||||
https = false # disable to enable cookies when not using https
|
||||
httpMaxConnections = 100
|
||||
staticDir = "./public"
|
||||
title = "nitter"
|
||||
hostname = "nitter.${SECRET_CLUSTER_DOMAIN}"
|
||||
|
||||
[Cache]
|
||||
listMinutes = 240 # how long to cache list info (not the tweets, so keep it high)
|
||||
rssMinutes = 10 # how long to cache rss queries
|
||||
redisHost = "redis.default.svc.cluster.local." # Change to "nitter-redis" if using docker-compose
|
||||
redisPort = 6379
|
||||
redisPassword = ""
|
||||
redisConnections = 20 # connection pool size
|
||||
redisMaxConnections = 30
|
||||
# max, new connections are opened when none are available, but if the pool size
|
||||
# goes above this, they're closed when released. don't worry about this unless
|
||||
# you receive tons of requests per second
|
||||
|
||||
[Config]
|
||||
hmacKey = "${SECRET_NITTER_HMAC}" # random key for cryptographic signing of video urls
|
||||
base64Media = false # use base64 encoding for proxied media urls
|
||||
enableRSS = true # set this to false to disable RSS feeds
|
||||
enableDebug = false # enable request logs and debug endpoints
|
||||
#proxy = "" # http/https url, SOCKS proxies are not supported
|
||||
#proxyAuth = ""
|
||||
#tokenCount = 10
|
||||
# minimum amount of usable tokens. tokens are used to authorize API requests,
|
||||
# but they expire after ~1 hour, and have a limit of 187 requests.
|
||||
# the limit gets reset every 15 minutes, and the pool is filled up so there's
|
||||
# always at least $tokenCount usable tokens. again, only increase this if
|
||||
# you receive major bursts all the time
|
||||
|
||||
# Change default preferences here, see src/prefs_impl.nim for a complete list
|
||||
[Preferences]
|
||||
theme = "Nitter"
|
||||
replaceTwitter = "nitter.${SECRET_CLUSTER_DOMAIN}"
|
||||
replaceYouTube = "invidious.${SECRET_CLUSTER_DOMAIN}"
|
||||
replaceReddit = "libreddit.${SECRET_CLUSTER_DOMAIN}"
|
||||
replaceInstagram = ""
|
||||
proxyVideos = true
|
||||
hlsPlayback = false
|
||||
infiniteScroll = true
|
79
cluster/apps/web-tools/nitter/helm-release.yaml
Normal file
79
cluster/apps/web-tools/nitter/helm-release.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: &app nitter
|
||||
namespace: default
|
||||
spec:
|
||||
interval: 15m
|
||||
chart:
|
||||
spec:
|
||||
chart: app-template
|
||||
version: 0.2.2
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: bjw-s-charts
|
||||
namespace: flux-system
|
||||
install:
|
||||
createNamespace: true
|
||||
remediation:
|
||||
retries: 5
|
||||
upgrade:
|
||||
remediation:
|
||||
retries: 5
|
||||
dependsOn:
|
||||
- name: postgres
|
||||
namespace: default
|
||||
values:
|
||||
image:
|
||||
repository: docker.io/zedeus/nitter
|
||||
tag: 2ac3afa5b273a502d7632e9346c7c3bc9283fb48
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
http:
|
||||
port: &port 8080
|
||||
probes:
|
||||
liveness: &probes
|
||||
enabled: true
|
||||
custom: true
|
||||
spec:
|
||||
httpGet:
|
||||
path: /Jack/status/20
|
||||
port: *port
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 1
|
||||
failureThreshold: 3
|
||||
readiness: *probes
|
||||
startup:
|
||||
enabled: false
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
ingressClassName: "nginx"
|
||||
annotations:
|
||||
auth.home.arpa/enabled: "true"
|
||||
external-dns.home.arpa/enabled: "true"
|
||||
hosts:
|
||||
- host: &host "nitter.${SECRET_CLUSTER_DOMAIN}"
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- hosts:
|
||||
- *host
|
||||
persistence:
|
||||
config:
|
||||
enabled: true
|
||||
type: configMap
|
||||
name: *app
|
||||
subPath: config.yml
|
||||
mountPath: /src/nitter.conf
|
||||
readOnly: false
|
||||
podAnnotations:
|
||||
secret.reloader.stakater.com/reload: *app
|
||||
resources:
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 256Mi
|
10
cluster/apps/web-tools/nitter/kustomization.yaml
Normal file
10
cluster/apps/web-tools/nitter/kustomization.yaml
Normal file
@@ -0,0 +1,10 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- helm-release.yaml
|
||||
configMapGenerator:
|
||||
- name: nitter
|
||||
files:
|
||||
- config/config.yml
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
@@ -25,6 +25,7 @@ stringData:
|
||||
SECRET_KUBE_PROMETHEUS_STACK_GRAFANA_ADMIN_PASSWORD: ENC[AES256_GCM,data:L7LS6+tuwPCyb5HN4zg=,iv:JM2KTtDN/VrKicjp5qwqusWiJKHRZnfTtsZE2hkLq6Q=,tag:XGF3L5P6JxVBrlGuKosdZA==,type:str]
|
||||
SECRET_MQTT_USER: ENC[AES256_GCM,data:Ggn82GysDHM2b/uNhQ==,iv:f5NXCE5/nfTqq1zdtBNH6Lu8ndf5YZKHgEWc9O0fB0I=,tag:z1OUzEeVgm+a9QRBxo9BEg==,type:str]
|
||||
SECRET_MQTT_PASSWORD: ENC[AES256_GCM,data:WBqLezPi1sbzyzfubG71KfR+tg==,iv:gKDgjpPwZ+fEWs+zn3aHiiKglsEl/kue/vx2FaSAtsA=,tag:jXECLxyekqmejJfi11DKsQ==,type:str]
|
||||
SECRET_NITTER_HMAC: ENC[AES256_GCM,data:pOA1LqHV9rcY3xAv5JMuSCMz1rk=,iv:3LkFNu/M3r1K/xBE/f7Kbf526eA4cgyGr4Wu/c+gxD0=,tag:ibJ8U+Pa66B2UmWwP/ZhNQ==,type:str]
|
||||
SECRET_OUTLINE_OAUTH_CLIENT_SECRET: ENC[AES256_GCM,data:BB/eZQ/oLQ09AxGwKRddbiyiRMA=,iv:dhiyOUP3GyvHXUdPYqQKPQCMmqornj6WVWtfreq9T6A=,tag:WijFyu8XGk3dklYJR4/81A==,type:str]
|
||||
SECRET_RADARR_API_KEY: ENC[AES256_GCM,data:Mom5SOMHf7xUvvUkjLIRqMzOSSQshzWdKlSGIzZtIGM=,iv:4vrZFrsTCUW2e0bo2sA2iT+ZVKUDEuyferNJ5Q5klFY=,tag:xha/NKx2XN3Mpa0XPSMPvA==,type:str]
|
||||
SECRET_SONARR_API_KEY: ENC[AES256_GCM,data:JO5N+MeVeQmAlfv/dLJru5oHyVjpy9iUrfrTe4PLVXA=,iv:NjGstpjwFapd2LJNPy6nhXsp9UuCYTBuHRovmHdCSNc=,tag:BARsx6FBISHhxueBSDJSNw==,type:str]
|
||||
@@ -47,8 +48,8 @@ sops:
|
||||
WG82VkdBMlNnRzBySFQzMk41cEtXSlEKBqOmq9UpO61C85+pj0ibdT31y4pmFsbm
|
||||
pTi4N0vv81kcf4ilqBU5h1gudNCb42Q2iL0eGNR4e3JzH4iaNsvnEg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2022-10-09T19:23:47Z"
|
||||
mac: ENC[AES256_GCM,data:23guk0/68mWCnifHrVlTJUgnlFlkrsAbdaphVjQE/5auG7baRyTeOTUSNBNxGmkygOo2kLVR7fiprkP6w/OCkHjvNGXij3RL+MNxmwjYzIRURWeWmq86r2CAtE2sZF1DIllQr6pIJIC2WLy++PiRJPaMi64J9H9dkuvbSr5pPGU=,iv:5VX4iUe/0gMWh0+tQGxZpTg4YAzGq9/tLVpkT/7TcLU=,tag:VLRRg1sWBXw9JN+uiSSjqQ==,type:str]
|
||||
lastmodified: "2022-10-23T13:46:34Z"
|
||||
mac: ENC[AES256_GCM,data:xnKsHwtSone0aGvJSqTrFvYIepp+vJbok8OQfdjMZ+ZD/S9YQlGVcu6IIJ93p+ugEwUuj+w9PUAURxRsRUVliUaFSgWh8u8dpNv4U0Bj6cpdGngnLmWgQI+9Cv8s3xylSaavO9QW0mOPppS+SjbApvOLxerJheFt6F+keyCilNY=,iv:ZCxpLSKxC8Lmze9BkKP93dwS/AXIW1SJ3INRRgTI3OE=,tag:Papkz0D3tvzBRW8F9Wr0kg==,type:str]
|
||||
pgp: []
|
||||
encrypted_regex: ^(data|stringData)$
|
||||
version: 3.7.3
|
||||
|
Reference in New Issue
Block a user