work on stash external + deploy wikijs

This commit is contained in:
2025-05-17 23:45:35 +01:00
parent b8480cc1fb
commit d40c4569e4
14 changed files with 12931 additions and 149 deletions
@@ -0,0 +1,12 @@
apiVersion: v1
data:
VPN_DNS_IP: MTAuMi4wLjE=
VPN_ENDPOINT_IP: MjEyLjguMjUzLjEzNw==
VPN_ENDPOINT_PORT: NTE4MjA=
WIREGUARD_PRIVATE_KEY: Y0grY0hLd3FMeXV3UlVlZy8wRjFYWVlDQVM4bkQwWGsxNmVOQlVLc2tYbz0=
WIREGUARD_PUBLIC_KEY: VVJwZVp4dHlVWEFVVUEwTVdjRmRDU2E3RitNdmNoSjRlTlNKVWV0S0VHaz0=
kind: Secret
metadata:
creationTimestamp: null
name: gluetun-secret-netherland
namespace: gluetun
@@ -0,0 +1,16 @@
apiVersion: v1
data:
DB_DATABASE: Ym9va3N0YWNrYXBw
# DB_HOST: ZGIuYm9va3N0YWNrLnN2Yw==
DB_HOST: Ym9va3N0YWNrLWRiLXN2Yw==
DB_PASS: VW5oYXBweS1Db21tZW5jZS1FdmVyeW9uZTQ=
DB_USER: Ym9va3N0YWNrX3VzZXJuYW1l
APP_KEY: "N3dvdmU3ZDQwbjlyNm90YW43ZGEyODQ5am10ajlqNHU="
kind: Secret
metadata:
# creationTimestamp: "2024-06-13T07:37:49Z"
name: bookstack-credentials
namespace: bookstack
# resourceVersion: "20756717"
# uid: 66d4cc7d-741a-49cc-979d-a8b95ffb983a
type: Opaque
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: database
namespace: servarr
annotations:
spec:
ipFamilyPolicy: PreferDualStack
ports:
- name: tcp
port: 5432
targetPort: 5432
protocol: TCP
type: LoadBalancer
selector:
app: prowlarr-db
@@ -0,0 +1,11 @@
apiVersion: v1
data:
DB_DATABASE: cHJvd2xhcnItbWFpbg==
DB_HOST: cHJvd2xhcnItZGItc3Zj
DB_PASS: R29saWF0aC1EZWVwZW4tRGl2aWRpbmc3
DB_USER: cHJvd2xhcnJfdXNlcm5hbWU=
kind: Secret
metadata:
creationTimestamp: null
name: prowlarr-credentials
namespace: bookstack
@@ -0,0 +1,11 @@
apiVersion: v1
data:
DB_DATABASE: cHJvd2xhcnItbWFpbg==
DB_HOST: cHJvd2xhcnItZGItc3Zj
DB_PASS: R29saWF0aC1EZWVwZW4tRGl2aWRpbmc3
DB_USER: c2VydmFycl91c2VybmFtZQ==
kind: Secret
metadata:
creationTimestamp: null
name: servarr-db-credentials
namespace: servarr
+76
View File
@@ -0,0 +1,76 @@
#!/bin/bash
#install required packages
apk add curl wget
#named argument generation
skip_searching_gallery="${skip_searching_gallery:-false}"
while [ $# -gt 0 ]; do
if [[ $1 == "--"* ]]; then
v="${1/--/}"
declare "$v"="$2"
shift
fi
shift
done
#check if we will use a HTTP proxy or not
if [[ -z $http_proxy ]]; then
echo "not using proxy"
curl_command="curl"
else
echo "using proxy"
curl_command="curl -x $http_proxy"
fi
#dowload from https://www.pornpics.com/pornstars/eiby-shine/
DESTINATION_FOLDER="/data"
PROXY_HTTP="http://gluetun-svc.gluetun.svc:8888"
#BASE_URL="https://www.pornpics.com/pornstars/eiby-shine/"
#pornstars="eiby-shine"
BASE_URL="https://www.pornpics.com/?q=shy+imp"
pornstars="shy-imp"
#BASE_URL="https://www.pornpics.com/pornstars/becky-summer"
#pornstars="becky-summer"
#clear files beforehand
mkdir -p $DESTINATION_FOLDER/$pornstars
if [[ $skip_searching_gallery == true ]]; then
echo "not looping through galleries"
echo "using existing file instead"
#because we need to keep the file $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt with the existing URL , in this condition,
#no deletion of this file
else
echo "looping through galleries"
#because we will re-generate this file, can be emptied
echo "" > $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
$curl_command -s $BASE_URL | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep "https://www.pornpics.com/galleries/" |sort -u >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
fi
echo "" > $DESTINATION_FOLDER/$pornstars-image_to_download.txt
for f in $(cat $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt ); do
$curl_command $f | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | grep "https://cdni.pornpics.com/1280" >> $DESTINATION_FOLDER/$pornstars-image_to_download.txt
echo $f
done
for g in $(cat $DESTINATION_FOLDER/$pornstars-image_to_download.txt ); do
$curl_command -O --output-dir $DESTINATION_FOLDER/$pornstars $g
# wget -e use_proxy=yes -e http_proxy=$PROXY_HTTP $g -P $DESTINATION_FOLDER/$pornstars
echo $g
done
exit 0
@@ -0,0 +1,12 @@
apiVersion: v1
data:
VPN_DNS_IP: MTAuMi4wLjE=
VPN_ENDPOINT_IP: MjEyLjguMjUzLjEzNw==
VPN_ENDPOINT_PORT: NTE4MjA=
WIREGUARD_PRIVATE_KEY: Y0grY0hLd3FMeXV3UlVlZy8wRjFYWVlDQVM4bkQwWGsxNmVOQlVLc2tYbz0=
WIREGUARD_PUBLIC_KEY: VVJwZVp4dHlVWEFVVUEwTVdjRmRDU2E3RitNdmNoSjRlTlNKVWV0S0VHaz0=
kind: Secret
metadata:
creationTimestamp: null
name: gluetun-secret-netherland
namespace: stash
@@ -6,23 +6,25 @@ data:
\"$v\"=\"$2\"\n shift\n fi\n shift\ndone\n\n#check if we will use \"$v\"=\"$2\"\n shift\n fi\n shift\ndone\n\n#check if we will use
a HTTP proxy or not\n\nif [[ -z $http_proxy ]]; then\n echo \"not using a HTTP proxy or not\n\nif [[ -z $http_proxy ]]; then\n echo \"not using
proxy\"\n curl_command=\"curl\"\nelse\n echo \"using proxy\"\n curl_command=\"curl proxy\"\n curl_command=\"curl\"\nelse\n echo \"using proxy\"\n curl_command=\"curl
-x $http_proxy\"\n\nfi\n\n\n#dowload from https://www.pornpics.com/pornstars/eiby-shine/\nDESTINATION_FOLDER=\"/data\"\nPROXY_HTTP=\"http://gluetun-svc.gluetun.svc:8888\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/eiby-shine/\"\n#pornstars=\"eiby-shine\"\n\nBASE_URL=\"https://www.pornpics.com/pornstars/chloe-camilla/\"\npornstars=\"chloe-camilla\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/becky-summer\"\n#pornstars=\"becky-summer\"\n\n\n#clear -x $http_proxy\"\n\nfi\n\n\n#dowload from https://www.pornpics.com/pornstars/eiby-shine/\nDESTINATION_FOLDER=\"/data\"\nPROXY_HTTP=\"http://gluetun-svc.gluetun.svc:8888\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/eiby-shine/\"\n#pornstars=\"eiby-shine\"\n\nBASE_URL=\"https://www.pornpics.com/?q=shy+imp\"\npornstars=\"shy-imp\"\n\n#BASE_URL=\"https://www.pornpics.com/pornstars/becky-summer\"\n#pornstars=\"becky-summer\"\n\n\n#clear
files beforehand\n\n\nmkdir -p $DESTINATION_FOLDER/$pornstars\n\nif [[ $skip_searching_gallery files beforehand\n\n\nmkdir -p $DESTINATION_FOLDER/$pornstars\n\nif [[ $skip_searching_gallery
== true ]]; then\n echo \"not looping through galleries\"\n\t\techo \"using == true ]]; then\n echo \"not looping through galleries\"\n\t\techo \"using
existing file instead\"\n\t\t#because we need to keep the file $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt existing file instead\"\n\t\t#because we need to keep the file $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt
with the existing URL , in this condition, \n\t\t#no deletion of this file\nelse\n with the existing URL , in this condition, \n\t\t#no deletion of this file\necho
\ echo \"looping through galleries\"\n\t\t#because we will re-generate this \"https://www.pornpics.com/galleries/onlyfans-shy-imp-starring-shy-imp-naked-porn-pics-90263490/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-featuring-shy-imp-xxx-porn-pics-15741579/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-starring-shy-imp-naked-photos-68925414/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-shy-imp-20862921/\nhttps://www.pornpics.com/galleries/skinny-girl-with-pink-hair-shy-imp-shows-her-small-tits-during-a-solo-show-50988369/\nhttps://www.pornpics.com/galleries/onlyfans-shy-imp-featuring-shy-imp-hot-gallery-86312934/\"
file, can be emptied\n\t\techo \"\" > $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\n >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\n\nelse\n echo
\"looping through galleries\"\n\t\t#because we will re-generate this file, can
be emptied\n\t\techo \"\" > $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\n
\ $curl_command -s $BASE_URL | grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\" \ $curl_command -s $BASE_URL | grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\"
| grep \"https://www.pornpics.com/galleries/\" |sort -u >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\nfi\n\necho | grep \"https://www.pornpics.com/galleries/\" |sort -u >> $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt\nfi\n\necho
\"\" > $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\n\nfor f in $(cat \"\" > $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\n\nfor f in $(cat
$DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt ); do\n\t$curl_command $f $DESTINATION_FOLDER/$pornstars-urls_of_galleries.txt ); do\n\t$curl_command $f
| grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\" | grep \"https://cdni.pornpics.com/\" | grep -Eo \"(http|https)://[a-zA-Z0-9./?=_%:-]*\" | grep \"https://cdni.pornpics.com/1280\"
>> $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\techo $f\ndone\n\n\nfor >> $DESTINATION_FOLDER/$pornstars-image_to_download.txt\n\techo $f\ndone\n\n\nfor
g in $(cat $DESTINATION_FOLDER/$pornstars-image_to_download.txt ); do \n\t$curl_command g in $(cat $DESTINATION_FOLDER/$pornstars-image_to_download.txt ); do \n\t$curl_command
-O --output-dir $DESTINATION_FOLDER/$pornstars $g\n# wget -e use_proxy=yes -O --output-dir $DESTINATION_FOLDER/$pornstars $g\n# wget -e use_proxy=yes
-e http_proxy=$PROXY_HTTP $g -P $DESTINATION_FOLDER/$pornstars\n echo $g -e http_proxy=$PROXY_HTTP $g -P $DESTINATION_FOLDER/$pornstars\n echo $g
\ndone\nexit 1\n" \ndone\nexit 0\n"
kind: ConfigMap kind: ConfigMap
metadata: metadata:
creationTimestamp: null creationTimestamp: null
+36
View File
@@ -0,0 +1,36 @@
#!/bin/sh
skip_searching_gallery="${skip_searching_gallery:-false}"
#echo "$skip_searching_gallery"
while [ $# -gt 0 ]; do
if [[ $1 == "--"* ]]; then
v="${1/--/}"
#declare "$v"="$2"
"$v"="$2"
shift
fi
shift
done
#echo "$skip_searching_gallery"
#if [[ -z $skip_searching_gallery ]]; then
if [[ $skip_searching_gallery == true ]]; then
echo "not looping through galleries"
else
echo "looping through galleries"
fi
if [[ -z $http_proxy ]]; then
echo "not using proxy"
curl_command="curl"
else
echo "using proxy"
curl_command="curl -x $http_proxy"
fi
echo $curl_command
$curl_command https://cdni.pornpics.com/460/7/424/83105958/83105958_010_388f.jpg -O
@@ -0,0 +1,11 @@
apiVersion: v1
data:
DB_DATABASE: d2lraQ==
DB_HOST: d2lraWpzLWRiLXN2Yw==
DB_PASS: VmVzdDctUHJvZHVjdC1VbnN0ZWFkeQ==
DB_USER: d2lraWpzX3VzZXJuYW1l
kind: Secret
metadata:
creationTimestamp: null
name: wikijs-db-credentials
namespace: wikijs
+6265 -3
View File
File diff suppressed because it is too large Load Diff
+6263 -10
View File
File diff suppressed because it is too large Load Diff
+193 -130
View File
@@ -12,12 +12,12 @@ kubernetes = {
"port" = 3306 "port" = 3306
"mountPath" = "/config" "mountPath" = "/config"
} }
requirements = { # requirements = {
limits-cpu = "500m" # limits-cpu = "18m"
limits-memory = "200Mi" # limits-memory = "100Mi"
requests-cpu = "300m" # requests-cpu = "10m"
requests-memory = "100Mi" # requests-memory = "70Mi"
} # }
secret_ref = ["bookstack-credentials"] secret_ref = ["bookstack-credentials"]
config_map_ref = ["config"] config_map_ref = ["config"]
@@ -74,7 +74,7 @@ kubernetes = {
screeps = { screeps = {
# enabled = false enabled = false
name = "screeps-server" name = "screeps-server"
image = "screepers/screeps-launcher" image = "screepers/screeps-launcher"
service_port = 21025 service_port = 21025
@@ -193,15 +193,14 @@ kubernetes = {
} }
stashgluetun = { gluetun = {
enabled = false #enabled = false
connected_namespace = "stash" dns_nameservers = "10.2.0.1"
dns_nameservers = "10.2.0.1" replicas = 01
replicas = 01 image = "qmcgaw/gluetun:latest"
image = "qmcgaw/gluetun:latest" service_port = 8888
service_port = 8888 extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/gluetun/gluetun-secret-netherland.yaml"]
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/stash/gluetun-secret-netherland.yaml"] security_context = true
security_context = true
# requirements = { # requirements = {
# limits-cpu = "800Mi" # limits-cpu = "800Mi"
# limits-memory = "800Mi" # limits-memory = "800Mi"
@@ -890,115 +889,16 @@ kubernetes = {
} }
gluetun = {
enabled = false
namespace = "tservarr"
dns_nameservers = "10.2.0.1"
replicas = 01
image = "qmcgaw/gluetun:latest"
service_port = 8888
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/gluetun-secret-netherland.yaml"]
security_context = true
# requirements = {
# limits-cpu = "800Mi"
# limits-memory = "800Mi"
# requests-cpu = "800Mi"
# requests-memory = "800Mi"
# }
environment = {
DNS_ADDRESS = {
value_from = {
secret_key_ref = {
name = "gluetun-secret-netherland"
key = "VPN_DNS_IP"
}
}
}
WIREGUARD_ENDPOINT_IP = {
value_from = {
secret_key_ref = {
name = "gluetun-secret-netherland"
key = "VPN_ENDPOINT_IP"
}
}
}
WIREGUARD_ENDPOINT_PORT = {
value_from = {
secret_key_ref = {
name = "gluetun-secret-netherland"
key = "VPN_ENDPOINT_PORT"
}
}
}
WIREGUARD_PRIVATE_KEY = {
value_from = {
secret_key_ref = {
name = "gluetun-secret-netherland"
key = "WIREGUARD_PRIVATE_KEY"
}
}
}
WIREGUARD_PUBLIC_KEY = {
value_from = {
secret_key_ref = {
name = "gluetun-secret-netherland"
key = "WIREGUARD_PUBLIC_KEY"
}
}
}
# SHADOWSOCKS = {
HTTPPROXY = {
value = "on"
}
#SHADOWSOCKS_LOG = {
HTTPPROXY_LOG = {
value = "on"
}
HTTPPROXY_LISTENING_ADDRESS = {
#SHADOWSOCKS_LISTENING_ADDRESS = {
value = "0.0.0.0:8888"
}
# HTTPPROXY_USER = {
# value = "user"
# }
#SHADOWSOCKS_PASSWORD = {
# HTTPPROXY_PASSWORD = {
# value = "user"
#}
DNS_KEEP_NAMESERVER = {
value = "off"
}
VPN_SERVICE_PROVIDER = {
value = "custom"
}
VPN_TYPE = {
value = "wireguard"
}
WIREGUARD_ADDRESSES = {
value = "10.2.0.2/32"
}
FIREWALL_INPUT_PORTS = {
value = "8081,7878,9696,9091,51413,8080,6881,8989,8191,8888,8000"
}
PUBLICIP_API = {
value = "ip2location"
}
HEALTH_TARGET_ADDRESS = {
value = "protonvpn.com"
}
}
}
prowlarr = { prowlarr = {
enabled = false # enabled = false
image = "linuxserver/prowlarr:latest" image = "linuxserver/prowlarr:latest"
connected_namespace = "tservarr" namespace = "servarr"
#replicas = 0
# dns_nameservers = "10.2.0.1" # dns_nameservers = "10.2.0.1"
service_port = 9696 service_port = 9696
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/servarr/servarr-db.secret.yaml"]
database = {}
environment = { environment = {
PUID = { PUID = {
@@ -1010,6 +910,35 @@ kubernetes = {
TZ = { TZ = {
value = "Etc/UTC" value = "Etc/UTC"
} }
POSTGRES_DB = {
value_from = {
secret_key_ref = {
name = "servarr-db-credentials"
key = "DB_DATABASE"
}
}
}
POSTGRES_USER = {
value_from = {
secret_key_ref = {
name = "servarr-db-credentials"
key = "DB_USER"
}
}
}
POSTGRES_PASSWORD = {
value_from = {
secret_key_ref = {
name = "servarr-db-credentials"
key = "DB_PASS"
}
}
}
} }
# requirements = { # requirements = {
# limits-cpu = "1000m" # limits-cpu = "1000m"
@@ -1035,10 +964,11 @@ kubernetes = {
} }
radarr = { radarr = {
enabled = false #enabled = false
image = "lscr.io/linuxserver/radarr:latest" image = "lscr.io/linuxserver/radarr:latest"
connected_namespace = "tservarr" connected_namespace = "servarr"
service_port = 7878 service_port = 7878
#replicas = 0
environment = { environment = {
PUID = { PUID = {
@@ -1077,11 +1007,11 @@ kubernetes = {
sonarr = { sonarr = {
enabled = false #enabled = false
image = "lscr.io/linuxserver/sonarr:latest" image = "lscr.io/linuxserver/sonarr:latest"
connected_namespace = "tservarr" connected_namespace = "servarr"
service_port = 8989 service_port = 8989
#replicas = 0
environment = { environment = {
PUID = { PUID = {
value = "1000" value = "1000"
@@ -1117,11 +1047,58 @@ kubernetes = {
} }
qbittorrent = {
#enabled = false
image = "lscr.io/linuxserver/qbittorrent:latest"
connected_namespace = "servarr"
service_port = 8080
environment = {
PUID = {
value = "1000"
}
PGID = {
value = "1000"
}
TZ = {
value = "Etc/UTC"
}
WEBUI_PORT = {
value = "8080"
}
}
requirements = {
limits-cpu = "200m"
limits-memory = "250Mi"
requests-cpu = "100m"
requests-memory = "100Mi"
}
pvc = {
qbittorrent-config = {
name = "qbittorrent-config"
pvc_size = "10Mi"
pvc = true
mount_path = "/config"
}
servarr-data = {
name = "servarr-data"
pvc_size = "10Mi"
pvc = false
host_path = "/data"
mount_path = "/disk"
}
}
}
flaresolverr = { flaresolverr = {
enabled = false # enabled = false
image = "ghcr.io/flaresolverr/flaresolverr:latest" #image = "ghcr.io/flaresolverr/flaresolverr:latest"
connected_namespace = "tservarr" image = "alexfozor/flaresolverr:pr-1300-experimental"
connected_namespace = "servarr"
service_port = 8191 service_port = 8191
environment = { environment = {
@@ -1134,6 +1111,9 @@ kubernetes = {
TZ = { TZ = {
value = "Etc/UTC" value = "Etc/UTC"
} }
CAPTCHA_SOLVER = { value = "hcaptcha-solver"
}
} }
# requirements = { # requirements = {
# limits-cpu = "1000m" # limits-cpu = "1000m"
@@ -1178,4 +1158,87 @@ kubernetes = {
} }
wikijs = {
#enabled = false
image = "ghcr.io/requarks/wiki:2.5"
service_port = 3000
extra_manifest = ["/opt/kubernetes/Terraform_kube/external_manifests/wikijs/wikijs-db.secret.yaml"]
database = {}
environment = {
PUID = {
value = "1000"
}
PGID = {
value = "1000"
}
TZ = {
value = "Etc/UTC"
}
DB_TYPE = { value = "postgres" }
DB_PORT = { value = "5432" }
POSTGRES_DB = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_DATABASE"
}
}
}
POSTGRES_USER = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_USER"
}
}
}
POSTGRES_PASSWORD = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_PASS"
}
}
}
DB_NAME = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_DATABASE"
}
}
}
DB_USER = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_USER"
}
}
}
DB_PASS = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_PASS"
}
}
}
DB_HOST = {
value_from = {
secret_key_ref = {
name = "wikijs-db-credentials"
key = "DB_HOST"
}
}
}
}
}
} }