Compare commits

...
10 Commits
Author SHA1 Message Date
pi-ux-ce 4449867af0 add podcast
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m32s
2026-09-02 13:26:53 +01:00
pi-ux-ce 3afcaaa1c2 add changes
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m38s
2026-09-02 11:56:10 +01:00
pi-ux-ce 432db052d5 add domains names for django 2026-09-02 11:55:57 +01:00
pi-ux-ce c934fe4fca typo
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m0s
2026-08-21 09:46:34 +01:00
pierre.geeraert 775ca38b49 adding this new system
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m58s
2026-08-21 09:45:26 +01:00
pierre.geeraert bfeb8c7521 adding this new system
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m3s
2026-08-21 09:44:20 +01:00
pi-ux-ce 1f160433d0 use gitea terraform state
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 1m59s
2026-08-21 09:32:05 +01:00
pi-ux-ce 2a6c05c01c add state and changes
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 1m28s
2026-08-17 09:35:41 +01:00
pi-ux-ce 71919fe861 🗑️ cleaning old certs
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 16m45s
2026-08-11 15:06:58 +01:00
pi-ux-ce a44f48333a 🗑️ cleaning 2026-08-11 15:05:15 +01:00
7 changed files with 153 additions and 265 deletions
+2 -3
View File
@@ -108,12 +108,11 @@ spec:
- name: reverse-proxy-log - name: reverse-proxy-log
persistentVolumeClaim: persistentVolumeClaim:
claimName: reverse-proxy-log claimName: reverse-proxy-log
# - name: reverse-proxy-ssl
# hostPath:
# path: /opt/kubernetes/Reverse_proxy_Nginx/certbot/conf/
- name: reverse-proxy-ssl - name: reverse-proxy-ssl
persistentVolumeClaim: persistentVolumeClaim:
claimName: reverse-proxy-ssl claimName: reverse-proxy-ssl
- name: nginx-configfile - name: nginx-configfile
configMap: configMap:
name: nginx-config name: nginx-config
-28
View File
@@ -1,28 +0,0 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: cafe-ingress
spec:
ingressClassName: nginx
tls:
- hosts:
- cafe.example.com
secretName: cafe-secret
rules:
- host: cafe.example.com
http:
paths:
- path: /tea
pathType: Prefix
backend:
service:
name: tea-svc
port:
number: 80
- path: /coffee
pathType: Prefix
backend:
service:
name: coffee-svc
port:
number: 80
+11
View File
@@ -1,5 +1,14 @@
terraform { terraform {
required_version = "> 0.8.0" required_version = "> 0.8.0"
backend "http" {
address = "https://gitea.geeraert.eu/api/packages/pi-ux-ce/terraform/state/reverse-proxy"
lock_address = "https://gitea.geeraert.eu/api/packages/pi-ux-ce/terraform/state/reverse-proxy/lock"
unlock_address = "https://gitea.geeraert.eu/api/packages/pi-ux-ce/terraform/state/reverse-proxy/lock"
lock_method = "POST"
unlock_method = "DELETE"
username = "pierre@geeraert.eu"
password = "a624d4613a6d35f6093eb5f3d12492c6a7676354"
}
} }
variable "nginx_sites" { variable "nginx_sites" {
@@ -16,6 +25,7 @@ variable "nginx_sites" {
listen_port_80_bool = optional(bool, false) listen_port_80_bool = optional(bool, false)
geoip_blocking = optional(bool, false) geoip_blocking = optional(bool, false)
geoip_allow = optional(list(string), ["FR", "GB"]) geoip_allow = optional(list(string), ["FR", "GB"])
redirect_to_root_domain = optional(bool, true)
})) }))
} }
@@ -92,6 +102,7 @@ resource "kubernetes_config_map" "automatic-configmap" {
listen_port_80_bool = value.listen_port_80_bool listen_port_80_bool = value.listen_port_80_bool
geoip_blocking = value.geoip_blocking geoip_blocking = value.geoip_blocking
geoip_allow = value.geoip_allow geoip_allow = value.geoip_allow
redirect_to_root_domain = value.redirect_to_root_domain
}) if value.enabled == true }) if value.enabled == true
} }
+21
View File
@@ -7,6 +7,7 @@ upstream ${name_site}_backend {
server 1.1.1.1 backup; server 1.1.1.1 backup;
} }
server { server {
server_name ${name_site}.tryton.geeraert.eu www.${name_site}.tryton.geeraert.eu; server_name ${name_site}.tryton.geeraert.eu www.${name_site}.tryton.geeraert.eu;
%{ if geoip_blocking} %{ if geoip_blocking}
@@ -17,6 +18,19 @@ server {
} }
%{ endif } %{ endif }
%{~ if redirect_to_root_domain~}
if ($host = www.${name_site}.tryton.geeraert.eu) {
return 301 https://${name_site}.geeraert.eu$request_uri;
}
if ($host = ${name_site}.tryton.geeraert.eu) {
return 301 https://${name_site}.geeraert.eu$request_uri;
}
%{~ endif ~}
%{ if redirect_to_root_domain != true }
location / { location / {
proxy_pass %{ if proxy_pass_https}https%{else}http%{ endif }://${name_site}_backend; proxy_pass %{ if proxy_pass_https}https%{else}http%{ endif }://${name_site}_backend;
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
@@ -54,6 +68,8 @@ server {
# return 444; # return 444;
#} #}
%{ endif }
access_log /var/log/nginx/access.log my_custom_format; access_log /var/log/nginx/access.log my_custom_format;
access_log /var/log/nginx/ip_audit.log ip_audit; access_log /var/log/nginx/ip_audit.log ip_audit;
access_log /var/log/nginx/backend_debug.log backend_debug; access_log /var/log/nginx/backend_debug.log backend_debug;
@@ -92,6 +108,11 @@ server {
} }
%{~ endif ~} %{~ endif ~}
############################################ ############################################
# config file for ${name_site} # config file for ${name_site}
############################################ ############################################
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+90 -21
View File
@@ -7,9 +7,9 @@ nginx_sites = {
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Proxy ""; #proxy_set_header Proxy "";
# EOT # EOT
service = "bitwarden-nginx-svc.bitwarden.svc:8080" service = "bitwarden-nginx-svc.bitwarden.svc:8080"
http2_bool = true http2_bool = true
redirect_to_root_domain = false
} }
bookstack = { bookstack = {
@@ -19,28 +19,60 @@ nginx_sites = {
proxy_cache = false proxy_cache = false
} }
django = { django = {
#service = "webserver.django-python.svc:8000" service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
admin = {
service = "django-svc.django:8000" service = "django-svc.django:8000"
proxy_cache = true proxy_cache = true
http2_bool = true http2_bool = true
} }
redirect = { redirect = {
#enabled = false
#main django
service = "django-svc.django:8000"
#testing django
#service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
geoip_allow = ["FR", "GB", "NL"]
}
reverse = {
service = "django-svc.django:8000" service = "django-svc.django:8000"
proxy_cache = true proxy_cache = true
http2_bool = true http2_bool = true
}
streaming = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
stash = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
simpsons = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
kubernetes = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
cloudmanager = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
}
podcast = {
service = "django-svc.django:8000"
proxy_cache = true
http2_bool = true
} }
django-testing = { django-testing = {
service = "django-testing-svc.django-testing.svc:8000" service = "django-testing-svc.django-testing.svc:8000"
@@ -48,13 +80,48 @@ nginx_sites = {
http2_bool = true http2_bool = true
} }
admin-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
redirect-testing = { redirect-testing = {
service = "django-testing-svc.django-testing.svc:8000" service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true proxy_cache = true
http2_bool = true http2_bool = true
} }
job-testing = { streaming-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
stash-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
simpsons-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
kubernetes-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
cloudmanager-testing = {
service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true
http2_bool = true
}
podcast-testing = {
service = "django-testing-svc.django-testing.svc:8000" service = "django-testing-svc.django-testing.svc:8000"
proxy_cache = true proxy_cache = true
http2_bool = true http2_bool = true
@@ -130,8 +197,9 @@ client_max_body_size 20m;
EOT EOT
} }
nextcloud = { nextcloud = {
service = "webserver.nextcloud.svc" redirect_to_root_domain = false
# service = "next-svc.next.svc" service = "webserver.nextcloud.svc"
#service = "nextcloud-svc.next.svc"
proxy_cache = true proxy_cache = true
http2_bool = true http2_bool = true
extra-value = <<EOT extra-value = <<EOT
@@ -312,7 +380,7 @@ proxy_set_header Connection "upgrade";
service = "web.piholenew.svc" service = "web.piholenew.svc"
} }
jellyfin = { jellyfin = {
# enabled = false enabled = false
service = "jellyfin-svc.jellyfin.svc:8096" service = "jellyfin-svc.jellyfin.svc:8096"
} }
gogs = { gogs = {
@@ -325,8 +393,9 @@ proxy_set_header Connection "upgrade";
} }
gitea = { gitea = {
enabled = true enabled = true
service = "webserver.gitea.svc:3000" service = "webserver.gitea.svc:3000"
redirect_to_root_domain = false
} }
spider = { spider = {