Self-hosting
Scorable Installation Guide
This document provides step-by-step instructions to deploy Scorable using Helm on your Kubernetes cluster.
Prerequisites
Before you begin, ensure the following components are installed and configured in your environment.
Required Components
Kubernetes Cluster: A running Kubernetes cluster (v1.32 or higher recommended).
Helm 3/4: Ensure you have Helm installed.
PostgreSQL Database: An accessible PostgreSQL instance within your cluster or network.
Redis Server: An accessible Redis instance within your cluster or network.
Optional Components
Sealed Secrets Controller: For secure management of secrets via encrypted files.
Ingress Controller: Required if you plan to use ingress resources.
Traefik (recommended)
cert-manager: For automatic management and issuance of TLS certificates.
Installation Steps
1. Configure Values
Create a my-values.yaml file based on your environment. Refer to the Values File Example section below.
2. Install the Chart
Install or upgrade the Scorable chart using Helm:
Configuration Details
Values File Example
Below is an example my-values.yaml file to guide your configuration:
Notes:
Storage: Configure either Azure Blob Storage or AWS S3 based on your preference.
Secrets: If
useSealedSecretsistrue, ensure your secrets are encrypted using the Sealed Secrets Controller.Domain and Hosts: Update the
domainandhostssections to match your environment.Ingress: If using an NGINX ingress controller + cert-manager, set
enabled: trueunder theingresssections.
Database
Create a database for the application
Secrets Management
If useSealedSecrets is set to true, you need to encrypt your secrets using kubeseal. Install the Sealed Secrets CLI:
Encrypt your secrets:
Replace your-secret-value with your actual secret and follow the prompts. Repeat for each secret.
Alternatively, if you prefer to manage secrets via Kubernetes secrets, set useSealedSecrets to false and create a Kubernetes secret:
Then, reference this secret in your my-values.yaml:
Accessing the Application
Using Ingress
It is recommended to deploy an ingress controller to access the application. You can use any ingress controller, such as Traefik
The example setup works with an NGINX ingress. You can enable it by enabling the ingress in the api and frontend sections of your values file.
In that setup, the domain in your values file is used. So for example:
domain: "mydomain.com"
Would make the application available in mydomain.com and api.mydomain.com
Alternatively, you can configure a custom ingress. In order for the application to work, you should enable access to the api and frontend k8s services in the namespace.
Using Port Forwarding
Alternatively, you can use kubectl port-forward to access the services locally:
Open your browser and navigate to http://localhost:3000 to access the web UI.
Monitoring and Logging
Sentry Integration
Scorable supports integration with Sentry for error tracking and monitoring.
Prometheus Metrics
The application exposes metrics at /metrics endpoints, which can be scraped by Prometheus. To set up Prometheus monitoring:
Deploy Prometheus in your cluster. You can use the Prometheus Helm Chart.
Configure Prometheus to scrape the metrics endpoints of Scorable services.
For detailed assistance, please get in touch with our support team.
Updates
Scorable notifies customer contact persons when new versions of the Helm chart are available
Support
If you encounter any issues or have questions, please reach out:
Email:
[email protected]Discord: Root Signals Discord
Slack
Note: Always ensure that your Kubernetes cluster and Helm are up to date to avoid compatibility issues. Regularly back up your configurations and data.
Last updated