Getting Started with GitHub Community Charts
Welcome to GitHub Community Charts, your source for community-maintained Helm charts that simplify deploying open-source tools on Kubernetes. Our charts support projects like MLflow, n8n, Actual Budget, and more, ensuring reliable and up-to-date deployments for tools that may lack official Helm chart support.
Community-Driven: These charts are maintained by the community to fill gaps where official Helm charts may not exist or may not be actively maintained.
This guide walks you through setting up our Helm repository and exploring our chart offerings, so you can quickly deploy your favorite open-source applications.
Quick Start: Follow this guide step-by-step to get your first application running on Kubernetes in minutes.
Prerequisites
Requirements: Ensure you have all prerequisites installed and configured before proceeding with chart installations.
Before you begin, ensure you have the following:
- A Kubernetes cluster (version >= 1.16.0)
- Helm 3 installed on your local machine
kubectl
configured to access your cluster
Cluster Compatibility: Verify your Kubernetes cluster version meets the minimum requirements to avoid deployment issues.
Development Setup: For local development, consider using tools like Minikube, Docker Desktop, or Kind to create a local Kubernetes cluster.
Step 1: Add the Community Charts Helm Repository
Repository Setup: Adding our Helm repository gives you access to all community-maintained charts in one place.
To use our charts, add the GitHub Community Charts Helm repository to your Helm client:
helm repo add community-charts https://community-charts.github.io/helm-charts
helm repo update
- The
helm repo add
command registers our repository under the namecommunity-charts
. - The
helm repo update
command ensures you have the latest chart versions.
Repository Management: Always run helm repo update
after adding a new repository to get the latest chart information.
Verify the repository was added:
helm repo list
You should see community-charts
with the URL https://community-charts.github.io/helm-charts
.
Step 2: Explore Available Charts
Chart Discovery: Browse our available charts to find the tools that best fit your needs and use cases.
Browse our available charts to find the tools you need:
helm search repo community-charts
This lists all charts in our repository, including:
- MLflow: Manage machine learning workflows with experiment tracking and model deployment.
- n8n: Automate tasks with a no-code/low-code workflow platform.
- Actual Budget: Track personal finances in a secure, self-hosted environment.
- Outline: Build collaborative knowledge bases with a modern wiki.
- Cloudflared: Create secure tunnels to your Kubernetes services using Cloudflare.
- Drone: Run continuous integration and deployment pipelines.
- Pypiserver: Host your own Python package repository.
Chart Selection: To see all available versions of a chart, use helm search repo community-charts -l
. For example, helm search repo community-charts/mlflow -l
lists all MLflow chart versions.
For detailed descriptions and installation guides, visit the Charts documentation.
Step 3: Install a Chart
Installation Planning: Choose appropriate namespaces and release names for your deployments to maintain organization and avoid conflicts.
To install a chart, use the helm install
command. Below is an example for installing the MLflow chart with default settings:
helm install my-mlflow community-charts/mlflow -n <your-namespace>
Replace my-mlflow
with your preferred release name and <your-namespace>
with the target namespace (e.g., default
). If the namespace doesn't exist, create it first:
kubectl create namespace <your-namespace>
Namespace Organization: Use dedicated namespaces for different applications to keep your cluster organized and simplify management.
Release Names: Choose unique release names to avoid conflicts. Release names must be unique within a namespace.
For customized installations (e.g., using PostgreSQL or AWS S3), refer to the chart's specific documentation. For MLflow, see Basic Installation with SQLite, PostgreSQL Backend Installation, and AWS S3 Integration.
Step 4: Verify the Installation
Verification Process: Always verify your installations to ensure applications are running correctly before proceeding with configuration.
Check the status of your deployment:
kubectl get pods -n <your-namespace>
Look for pods associated with your release (e.g., my-mlflow-XXXXX
) in a Running
state.
Pod Status: If pods are not in Running
state, check the logs with kubectl logs <pod-name> -n <namespace>
to diagnose issues.
Access the application using the instructions in the chart's documentation. For example, MLflow typically exposes a web UI at port 5000, which you can access via port-forwarding:
kubectl port-forward svc/my-mlflow -n <your-namespace> 5000:5000
Then, open http://localhost:5000
in your browser.
Port Forwarding: Port forwarding is suitable for development and testing. For production, configure ingress or load balancers for external access.
Our Chart Offerings
Chart Overview: Each chart is designed for specific use cases and includes comprehensive documentation for various deployment scenarios.
Here's a quick overview of our current charts and their use cases:
Chart | Description | Documentation Link |
---|---|---|
MLflow | Platform for managing the machine learning lifecycle | /docs/charts/mlflow |
n8n | Workflow automation tool with unique npm package installation and exclusive external task runner support | /docs/charts/n8n |
Actual Budget | Self-hosted personal finance tracker | /docs/charts/actualbudget |
Outline | Modern wiki for collaborative knowledge management | /docs/charts/outline |
Cloudflared | Secure tunneling with Cloudflare for Kubernetes services | /docs/charts/cloudflared |
Drone | Continuous integration and deployment system | /docs/charts/drone |
PyPI server | Private minimal Python package repository | /docs/charts/pypiserver |
Unique Features: Our n8n chart offers exclusive features not available in other Helm charts, including advanced npm package management and external task runner support.
Explore the Charts section for detailed installation guides and configuration options.
Production Considerations
Production Readiness: These charts are designed for production use, but always review security, backup, and monitoring requirements for your specific environment.
Security Best Practices
- Use dedicated namespaces for different applications
- Configure RBAC (Role-Based Access Control) appropriately
- Use Kubernetes secrets for sensitive data
- Enable TLS/SSL for external access
- Regularly update chart versions for security patches
Security Configuration: Never use default passwords or credentials in production environments. Always configure proper authentication and authorization.
Backup and Monitoring
- Set up regular backups for databases and persistent data
- Configure monitoring and alerting for your applications
- Use health checks and readiness probes
- Monitor resource usage and set appropriate limits
Monitoring Setup: Most charts include ServiceMonitor configurations for Prometheus integration and comprehensive monitoring.
Troubleshooting
Common Issues: This section covers frequently encountered problems and their solutions.
Installation Issues
- Chart not found: Ensure the repository is added and updated
- Namespace issues: Verify the namespace exists and you have permissions
- Resource constraints: Check cluster capacity and resource limits
- Image pull errors: Verify image repositories and credentials
Debug Commands
# Check Helm repository status
helm repo list
helm repo update
# Verify chart availability
helm search repo community-charts
# Check installation status
helm list -n <namespace>
kubectl get pods -n <namespace>
# View application logs
kubectl logs <pod-name> -n <namespace>
# Check events
kubectl get events -n <namespace> --sort-by='.lastTimestamp'
Debug Process: Start with basic connectivity and permissions, then move to application-specific configuration issues.
Next Steps
Getting Started: Follow these recommended next steps to build on your initial deployment.
Now that you've set up our Helm repository, try these next steps:
- Deploy a chart like MLflow with a basic SQLite setup for testing.
- Configure a production-ready deployment with PostgreSQL or AWS S3.
- Contribute to our charts by submitting pull requests or suggesting new charts in our GitHub repository.
- Report issues or request features via GitHub issues.
- Stay updated by following our blog for tutorials and announcements.
Community Contribution: We welcome contributions from the community! Whether it's improving documentation, adding new features, or reporting issues, every contribution helps make these charts better.
We're excited to have you as part of the GitHub Community Charts community. Let's make deploying open-source tools on Kubernetes easier, together!