feat: Initialize Helm charts repository with .gitignore, README, and Jellyfin chart documentation.

This commit is contained in:
sha
2026-03-16 00:41:10 +02:00
parent 2f2786adba
commit 479f9ad93d
3 changed files with 124 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
# OS generated files
.DS_Store
.AppleDouble
.LSOverride
Icon
# Thumbnails
._*
# Files that might contain secrets
*.secret.yaml
*.sealed.yaml
.env
.env.*
# Helm dependencies
charts/*.tgz
charts/*/charts/
charts/*/tmpcharts/
# IDE files
.vscode/
.idea/
*.swp
*.swo
# Temporary files
tmp/
*.bak
+58
View File
@@ -0,0 +1,58 @@
# Shadoll Helm Charts
A collection of custom and optimized Helm charts for self-hosted applications on Kubernetes.
## Repository Structure
- `/charts`: Individual application charts (e.g. `jellyfin`).
- `/docs`: Detailed application documentation and guides.
## Quick Start
### 1. Clone the repository
```bash
git clone https://github.com/shadoll/helm-charts.git
cd helm-charts
```
### 2. Available Charts
| Chart | Description | Status |
|-------|-------------|--------|
| [Jellyfin](docs/jellyfin.md) | Media server with PostgreSQL support | Ready |
### 3. Usage with FluxCD
To use these charts in a FluxCD environment, add the repository as a Source:
```yaml
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: shadoll-charts
namespace: flux-system
spec:
interval: 1h
url: https://github.com/shadoll/helm-charts
ref:
branch: main
```
Then reference the chart in your `HelmRelease`:
```yaml
spec:
chart:
spec:
chart: ./jellyfin
sourceRef:
kind: GitRepository
name: shadoll-charts
```
## Maintenance
This repository follows automated version tracking where possible. For manual updates, modify the `appVersion` and increment the `version` in the respective `Chart.yaml`.
---
© 2026 Shadoll. Managed with ❤️ for the Home Lab.
+37
View File
@@ -0,0 +1,37 @@
# Jellyfin Helm Chart
A modern, parameterized Helm chart for Jellyfin media server with PostgreSQL support and integrated backup capabilities.
## Features
- **PostgreSQL Support**: Uses the Jellyfin PostgreSQL adapter for robust database storage.
- **Database Initialization**: Automated schema and database creation via `db-init` job.
- **Backups**: Integrated CronJob for automated database backups with configurable retention.
- **Ingress**: Dual-ingress pattern support (Internal HTTP and External HTTPS via Traefik).
- **Security**: Designed for use with `existingSecret` for credentials management.
## Installation
### 1. Create a Secret
Create a secret named `jellyfin-secret` containing:
- `JELLYFIN_POSTGRESQL_PASSWORD`: The password for the jellyfin user.
- `POSTGRES_ADMIN_PASSWORD`: The superuser password for database initialization.
### 2. Configure Values
Review the [values.yaml](https://github.com/shadoll/helm-charts/blob/main/jellyfin/values.yaml) and create your override file.
### 3. Install
```bash
helm install my-jellyfin ./jellyfin -f my-values.yaml
```
## Configuration Reference
| Parameter | Description | Default |
|-----------|-------------|---------|
| `image.repository` | Jellyfin image repository | `ghcr.io/rogly-net/jellyfin-postgresql` |
| `image.tag` | Jellyfin image tag | (Chart appVersion) |
| `postgres.host` | PostgreSQL host address | `postgres-tcp.postgres.svc.cluster.local` |
| `persistence.config.enabled` | Enable config persistence | `true` |
| `backup.enabled` | Enable automated backups | `true` |
For detailed configuration, see the [values.yaml](https://github.com/shadoll/helm-charts/blob/main/jellyfin/values.yaml).