PREREQUESITES: Helm helm repo add gitea-charts https://dl.gitea.io/charts/ helm install gitea gitea-charts/gitea kubectl edit svc gitea change spec.type to ClusterIP merge the below ingress using kubectl apply -f apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: gitea-ingress namespace: annotations: kubernetes.io/ingress.class: "traefik" # Optional: if using cert-manager for HTTPS # cert-manager.io/cluster-issuer: "letsencrypt-prod" spec: # Optional: For HTTPS, remove this section if you don't need TLS # tls: # - hosts: # - gitea.yourdomain.com # secretName: gitea-tls-secret # Secret will hold the certificate rules: - host: gitea.yourdomain.com # <-- The domain you point to your K3s IP http: paths: - path: / pathType: Prefix backend: service: # This name must match your Gitea Service name (e.g., gitea-http-service) name: gitea-http-service port: # This port must match the 'port' defined in your Gitea Service (3000) number: 3000