# Rancher Installation - Simplified Guide
Quick and easy guide to install Seawise Dashboard on Rancher clusters
[🌐 seawise.cloud](https://seawise.cloud) | [📦 GitHub](https://github.com/shwcloudapp/seawise-backup)
You need:
velero namespace)kubectl get nodes -o wide
Note the INTERNAL IP of any node (example: 192.168.100.97)
Copy and paste this command (it will create the file automatically):
cat > rancher-values.yaml <<'YAML'
image:
repository: shwcloud/seawise-backup
tag: "v1.7.1"
pullPolicy: IfNotPresent
app:
veleroNamespace: "velero"
timezone: "America/Sao_Paulo"
ingress:
enabled: true
className: ""
annotations:
kubernetes.io/ingress.allow-http: "false"
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.tls: "true"
hosts:
- host: seawise-backup.192.168.100.97.sslip.io
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- seawise-backup.192.168.100.97.sslip.io
persistence:
enabled: true
storageClassName: "local-path"
accessMode: ReadWriteOnce
size: 1Gi
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
runAsNonRoot: true
runAsUser: 1000
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
YAML
Now edit the IP:
# Replace 192.168.100.97 with your cluster IP
sed -i 's/192.168.100.97/YOUR_IP_HERE/g' rancher-values.yaml
# Or edit manually:
nano rancher-values.yaml
# Change lines 18 and 23
Latest Version: Check releases
# Set the version
export CHART_VERSION=1.7.1
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--create-namespace \
-f rancher-values.yaml
Done! Wait 1-2 minutes and access:
https://seawise-backup.YOUR-IP.sslip.io
# Check if pod is running
kubectl get pods -n seawise-app
# Check Ingress
kubectl get ingress -n seawise-app
# View logs (if needed)
kubectl logs -n seawise-app -l app.kubernetes.io/name=seawise-dashboard -f
Expected output:
NAME READY STATUS RESTARTS AGE
seawise-dashboard-xxxxxxxxxx-xxxxx 1/1 Running 0 2m
NAME CLASS HOSTS PORTS AGE
seawise-dashboard traefik seawise-backup.192.168.100.97.sslip.io 80, 443 2m
If your Rancher uses NGINX Ingress Controller, use this file:
cat > rancher-nginx-values.yaml <<'YAML'
image:
repository: shwcloud/seawise-backup
tag: "v1.7.1"
pullPolicy: IfNotPresent
app:
veleroNamespace: "velero"
timezone: "America/Sao_Paulo"
ingress:
enabled: true
className: "nginx"
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: "letsencrypt-prod" # Se tiver cert-manager
hosts:
- host: seawise-backup.192.168.100.97.sslip.io
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- seawise-backup.192.168.100.97.sslip.io
# secretName: seawise-tls # Descomente se usar cert-manager
persistence:
enabled: true
storageClassName: "local-path"
size: 1Gi
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
YAML
# Edit the IP
sed -i 's/192.168.100.97/YOUR_IP_HERE/g' rancher-nginx-values.yaml
# Install
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--create-namespace \
-f rancher-nginx-values.yaml
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--reuse-values \
--set app.timezone="America/New_York"
If you have a domain (example: backup.mycompany.com):
# Edit the file
nano rancher-values.yaml
# Change:
# hosts:
# - host: backup.mycompany.com
# Update
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
-f rancher-values.yaml
If Velero is in a different namespace:
# Find it
kubectl get deployment --all-namespaces | grep velero
# Update
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--reuse-values \
--set app.veleroNamespace="cattle-velero"
# View logs
kubectl logs -n seawise-app -l app.kubernetes.io/name=seawise-dashboard
# Check PVC
kubectl get pvc -n seawise-app
Solution: Usually a storage issue. Check if StorageClass exists:
kubectl get storageclass
If local-path doesn’t exist, use another one (example: default, nfs-client):
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--reuse-values \
--set persistence.storageClassName="default"
# Check which Ingress Controller is installed
kubectl get pods -n kube-system | grep -E "traefik|nginx"
# Check the created Ingress
kubectl describe ingress -n seawise-app seawise-dashboard
Solutions:
kubectl get nodes -o widekubectl port-forward -n seawise-app svc/seawise-dashboard 8080:80# Find where Velero is installed
kubectl get deployment --all-namespaces | grep velero
# If it's in a different namespace, update:
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--reuse-values \
--set app.veleroNamespace="CORRECT-NAMESPACE"
This is normal with sslip.io! Traefik generates a self-signed certificate.
Solutions:
helm upgrade seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--reuse-values
# Remove application
helm uninstall seawise-dashboard -n seawise-app
# Remove data (CAUTION: deletes the database!)
kubectl delete pvc -n seawise-app seawise-dashboard-pvc
# Remove namespace
kubectl delete namespace seawise-app
For convenience, here’s the complete command in a single block:
# 1. Create configuration file
cat > rancher-values.yaml <<'YAML'
image:
repository: shwcloud/seawise-backup
tag: "v1.7.1"
pullPolicy: IfNotPresent
app:
veleroNamespace: "velero"
timezone: "America/Sao_Paulo"
ingress:
enabled: true
className: ""
annotations:
kubernetes.io/ingress.allow-http: "false"
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.tls: "true"
hosts:
- host: seawise-backup.192.168.100.97.sslip.io
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- seawise-backup.192.168.100.97.sslip.io
persistence:
enabled: true
storageClassName: "local-path"
size: 1Gi
resources:
requests:
cpu: 250m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
YAML
# 2. EDIT the IP (change 192.168.100.97 to your cluster IP)
nano rancher-values.yaml
# 3. Install
helm install seawise-dashboard \
https://github.com/shwcloudapp/seawise-backup/releases/download/v${CHART_VERSION}/seawise-dashboard-${CHART_VERSION}.tgz \
--namespace seawise-app \
--create-namespace \
-f rancher-values.yaml
# 4. Verify
kubectl get pods,ingress -n seawise-app
# 5. Access
echo "Access: https://seawise-backup.YOUR-IP.sslip.io"
Done! 🎉