-
-
Notifications
You must be signed in to change notification settings - Fork 206
Description
Describe the bug
I installed speedtest-tracker in a k0s cluster with metallb to be the load balancer and ingress-nginx (https://kubernetes.github.io/ingress-nginx). All of this is behind a nginx reverse-proxy (it redirects requests also to other services such as proxmox).
To Reproduce
Later on because it is rather long.
Expected behavior
Open the webpage and see all the css applied. I am getting a white page with some elements (#889 shows the same page I am getting).
Environment (please complete the following information):
- OS: Ubuntu (latest early 2024)
- Architecture: amd64
- Browser: Brave
- Version: the one provided by the image 'ghcr.io/alexjustesen/speedtest-tracker:latest'
Additional context
Config files
Reverse Proxy
upstream stest{
server <ip-ingress>;
}
server {
listen 80;
server_name speedtest.eddienetworks.ddnsfree.com *.speedtest.eddienetworks.ddnsfree.com;
return 301 https://$host$request_uri;
}
server {
server_name speedtest.eddienetworks.ddnsfree.com *.speedtest.eddienetworks.ddnsfree.com;
location / {
proxy_pass http://stest/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
listen [::]:443 ssl; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/eddienetworks.ddnsfree.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/eddienetworks.ddnsfree.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
Config Map (env. variables)
apiVersion: v1
kind: ConfigMap
metadata:
name: speedtest-cmap
namespace: speedtest
data:
uid: '1000'
gid: '1000'
tz: Australia/Melbourne
db_conn: mysql
db_host: mariadb-svc
db_port: '3300'
app_url: https://speedtest.eddienetworks.ddnsfree.com
Deployment File
apiVersion: apps/v1
kind: Deployment
metadata:
name: speedtest
namespace: speedtest
labels:
app: speedtest
spec:
selector:
matchLabels:
app: speedtest
replicas: 1
template:
metadata:
labels:
app: speedtest
spec:
containers:
- name: speedtest
image: ghcr.io/alexjustesen/speedtest-tracker:v0.13.3
imagePullPolicy: IfNotPresent
env:
- name: PUID
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: uid
- name: PGID
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: gid
- name: TZ
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: tz
- name: APP_URL
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: app_url
- name: DB_CONNECTION
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: db_conn
- name: DB_HOST
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: db_host
- name: DB_PORT
valueFrom:
configMapKeyRef:
name: speedtest-cmap
key: db_port
- name: DB_DATABASE
valueFrom:
secretKeyRef:
name: mariadb-scr
key: database
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: mariadb-scr
key: pass
- name: DB_USERNAME
valueFrom:
secretKeyRef:
name: mariadb-scr
key: user
ports:
- containerPort: 80
name: speedtest
volumeMounts:
- name: config
mountPath: /config
- name: web
mountPath: /etc/ssl/web
- name: localtime
mountPath: /etc/localtime
readOnly: yes
volumes:
- name: config
persistentVolumeClaim:
claimName: speedtest-cfg
- name: web
persistentVolumeClaim:
claimName: speedtest-web
- name: localtime
hostPath:
path: /etc/localtime
restartPolicy: Always
---
# https://kubernetes.io/docs/concepts/services-networking/service/
apiVersion: v1
kind: Service
metadata:
name: speedtest-svc
namespace: speedtest
spec:
selector:
app: speedtest
type: LoadBalancer
loadBalancerIP: <load-balancer ip>
ports:
- name: speedtest
protocol: TCP
port: 3344
targetPort: 80
---
# https://kubernetes.io/docs/concepts/services-networking/ingress/
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: speedtest-ing
namespace: speedtest
spec:
rules:
- host: speedtest.eddienetworks.ddnsfree.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: speedtest-svc
port:
number: 3344
For now, I am keeping the service as load balancer and using the its ip and port to have a fully functional version of the speedtest-tracker but it is the only service I need to use this approach.
If anyone wants to check, visit both speedtest.eddienetworks.ddnsfree.com and speedtest_lb.eddienetworks.ddnsfree.com
Thanks