Compare commits
12
Commits
master-vnext
...
master
No files matched your search
@@ -1,2 +0,0 @@
|
||||
owner: jellyfin
|
||||
release-name-template: "{{ .Name }}-{{ .Version }}"
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["github>jellyfin/.github//renovate-presets/default"],
|
||||
"customManagers": [
|
||||
{
|
||||
"customType": "regex",
|
||||
"fileMatch": ["charts/jellyfin/Chart.yaml"],
|
||||
"matchStrings": ["appVersion: (?<currentValue>.*?)\\n"],
|
||||
"datasourceTemplate": "docker",
|
||||
"depNameTemplate": "jellyfin/jellyfin"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
name: Bump Helm Chart Version
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
jellyfin_version:
|
||||
description: 'Application version to set in Chart.yaml'
|
||||
required: true
|
||||
default: '1.0.0'
|
||||
|
||||
jobs:
|
||||
bump-version:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
|
||||
with:
|
||||
python-version: 3.x
|
||||
|
||||
- name: Bump chart version and set appVersion
|
||||
id: bump_version
|
||||
run: |
|
||||
# Read the current version from the Chart.yaml
|
||||
current_version=$(grep '^version:' charts/jellyfin/Chart.yaml | awk '{print $2}')
|
||||
echo "Current version: $current_version"
|
||||
|
||||
# Split the version by dot and increment the minor version
|
||||
major=$(echo "$current_version" | cut -d '.' -f 1)
|
||||
minor=$(echo "$current_version" | cut -d '.' -f 2)
|
||||
patch=$(echo "$current_version" | cut -d '.' -f 3)
|
||||
new_version="$major.$((minor+1)).0"
|
||||
|
||||
echo "New chart version: $new_version"
|
||||
|
||||
# Get the app version passed as an input
|
||||
jellyfin_version="${{ github.event.inputs.jellyfin_version }}"
|
||||
echo "Setting appVersion to: $jellyfin_version"
|
||||
|
||||
# Update the Chart.yaml with the new version and appVersion
|
||||
sed -i "s/^version:.*/version: $new_version/" charts/jellyfin/Chart.yaml
|
||||
sed -i "s/^appVersion:.*/appVersion: $jellyfin_version/" charts/jellyfin/Chart.yaml
|
||||
|
||||
# Output the new chart version for further use
|
||||
echo "new_version=$new_version" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Commit changes
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add charts/jellyfin/Chart.yaml
|
||||
git commit -m "chore(jellyfin): Bump chart version to ${{ steps.bump_version.outputs.new_version }} and set appVersion to ${{ github.event.inputs.jellyfin_version }}"
|
||||
|
||||
- name: Push changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.JF_BOT_TOKEN }}
|
||||
|
||||
- name: Create Git tag
|
||||
id: create_tag
|
||||
run: |
|
||||
new_version="${{ steps.bump_version.outputs.new_version }}"
|
||||
git tag "$new_version"
|
||||
echo "Tag created: $new_version"
|
||||
|
||||
- name: Push changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.JF_BOT_TOKEN }}
|
||||
tags: true
|
||||
@@ -1,28 +0,0 @@
|
||||
name: Docs Update
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
generate-docs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Helm Docs GitHub Action
|
||||
uses: losisin/helm-docs-github-action@a57fae5676e4c55a228ea654a1bcaec8dd3cf5b5 # v1.6.2
|
||||
with:
|
||||
git-push: true
|
||||
git-commit-message: "docs(charts): :memo: write updated reademe"
|
||||
|
||||
- name: Push changes
|
||||
run: git push
|
||||
@@ -1,159 +0,0 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- '*'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
release:
|
||||
# depending on default permission settings for your org (contents being read-only or read-write for workloads), you will have to add permissions
|
||||
# see: https://docs.github.com/en/actions/security-guides/automatic-token-authentication#modifying-the-permissions-for-the-github_token
|
||||
permissions:
|
||||
contents: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config --global user.name "jellyfin-bot"
|
||||
git config --global user.email "team@jellyfin.org"
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
||||
- name: Install yq
|
||||
run: |
|
||||
# renovate: datasource=github-releases depName=mikefarah/yq
|
||||
YQ_VERSION="4.44.3"
|
||||
wget -q https://github.com/mikefarah/yq/releases/download/v${YQ_VERSION}/yq_linux_amd64 -O yq
|
||||
chmod +x yq
|
||||
sudo mv yq /usr/local/bin/yq
|
||||
yq --version
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # v1.7.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
with:
|
||||
config: .github/cr.yaml
|
||||
|
||||
- name: Extract chart metadata and format release notes
|
||||
id: release-notes
|
||||
run: |
|
||||
CHART_PATH="charts/jellyfin"
|
||||
CHART_NAME=$(yq eval '.name' "${CHART_PATH}/Chart.yaml")
|
||||
CHART_VERSION=$(yq eval '.version' "${CHART_PATH}/Chart.yaml")
|
||||
APP_VERSION=$(yq eval '.appVersion' "${CHART_PATH}/Chart.yaml")
|
||||
RELEASE_TAG="${CHART_NAME}-${CHART_VERSION}"
|
||||
|
||||
echo "tag=${RELEASE_TAG}" >> $GITHUB_OUTPUT
|
||||
|
||||
CHANGELOG_RAW=$(yq eval '.annotations."artifacthub.io/changes"' "${CHART_PATH}/Chart.yaml")
|
||||
|
||||
# Build changelog section
|
||||
CHANGELOG_SECTION=""
|
||||
if [ "$CHANGELOG_RAW" != "null" ] && [ -n "$CHANGELOG_RAW" ]; then
|
||||
CHANGELOG_SECTION="## What's Changed
|
||||
|
||||
"
|
||||
TEMP_FILE=$(mktemp)
|
||||
SEPARATOR="|"
|
||||
echo "$CHANGELOG_RAW" | yq eval ".[] | .kind + \"${SEPARATOR}\" + .description" - > "$TEMP_FILE"
|
||||
|
||||
while IFS="${SEPARATOR}" read -r kind description; do
|
||||
case "$kind" in
|
||||
"added")
|
||||
emoji="✨"
|
||||
label="Added"
|
||||
;;
|
||||
"changed")
|
||||
emoji="🔄"
|
||||
label="Changed"
|
||||
;;
|
||||
"deprecated")
|
||||
emoji="⚠️"
|
||||
label="Deprecated"
|
||||
;;
|
||||
"removed")
|
||||
emoji="🗑️"
|
||||
label="Removed"
|
||||
;;
|
||||
"fixed")
|
||||
emoji="🐛"
|
||||
label="Fixed"
|
||||
;;
|
||||
"security")
|
||||
emoji="🔒"
|
||||
label="Security"
|
||||
;;
|
||||
*)
|
||||
emoji="📝"
|
||||
label="Changed"
|
||||
;;
|
||||
esac
|
||||
CHANGELOG_SECTION="${CHANGELOG_SECTION}- ${emoji} **${label}**: ${description}
|
||||
"
|
||||
done < "$TEMP_FILE"
|
||||
|
||||
rm -f "$TEMP_FILE"
|
||||
CHANGELOG_SECTION="${CHANGELOG_SECTION}
|
||||
"
|
||||
fi
|
||||
|
||||
# Build release body
|
||||
RELEASE_BODY="## Jellyfin Helm Chart v${CHART_VERSION}
|
||||
|
||||
**Application Version**: \`${APP_VERSION}\`
|
||||
|
||||
${CHANGELOG_SECTION}## Installation
|
||||
|
||||
Add the Jellyfin Helm repository:
|
||||
|
||||
\`\`\`bash
|
||||
helm repo add jellyfin https://jellyfin.github.io/jellyfin-helm
|
||||
helm repo update
|
||||
\`\`\`
|
||||
|
||||
Install the chart:
|
||||
|
||||
\`\`\`bash
|
||||
helm install my-jellyfin jellyfin/jellyfin --version ${CHART_VERSION}
|
||||
\`\`\`
|
||||
|
||||
## Upgrade
|
||||
|
||||
\`\`\`bash
|
||||
helm upgrade my-jellyfin jellyfin/jellyfin --version ${CHART_VERSION}
|
||||
\`\`\`
|
||||
|
||||
---
|
||||
|
||||
📦 **Chart**: \`jellyfin\` v${CHART_VERSION}
|
||||
🎬 **Jellyfin**: v${APP_VERSION}
|
||||
📖 **Documentation**: https://github.com/jellyfin/jellyfin-helm/blob/main/charts/jellyfin/README.md
|
||||
"
|
||||
|
||||
# Save to file
|
||||
echo "$RELEASE_BODY" > release-notes.md
|
||||
|
||||
- name: Update release notes
|
||||
env:
|
||||
GH_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
run: |
|
||||
RELEASE_TAG="${{ steps.release-notes.outputs.tag }}"
|
||||
|
||||
# Update release notes
|
||||
gh release edit "$RELEASE_TAG" --notes-file release-notes.md
|
||||
|
||||
echo "✅ Updated release notes for $RELEASE_TAG"
|
||||
@@ -9,7 +9,7 @@ keywords:
|
||||
- media
|
||||
- self-hosted
|
||||
version: 3.0.0
|
||||
appVersion: 10.11.2
|
||||
appVersion: 10.11.5
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- kind: deprecated
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# jellyfin
|
||||
|
||||
  
|
||||
  
|
||||
|
||||
A Helm chart for Jellyfin Media Server
|
||||
|
||||
@@ -73,7 +73,7 @@ helm install my-jellyfin jellyfin/jellyfin -f values.yaml
|
||||
| jellyfin.args | list | `[]` | Additional arguments for the entrypoint command. |
|
||||
| jellyfin.command | list | `[]` | Custom command to use as container entrypoint. |
|
||||
| jellyfin.enableDLNA | bool | `false` | Enable DLNA. Requires host network. See: https://jellyfin.org/docs/general/networking/dlna.html |
|
||||
| jellyfin.env | list | `[]` | Additional environment variables for the container. Example: env: - name: JELLYFIN_CACHE_DIR value: /cache |
|
||||
| jellyfin.env | list | `[]` | Additional environment variables for the container. Example: Workaround for inotify limits (see Troubleshooting section in README) Example: env: - name: JELLYFIN_CACHE_DIR value: /cache |
|
||||
| jellyfin.envFrom | list | `[]` | Load environment variables from ConfigMap or Secret. See: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables Example: envFrom: - configMapRef: name: jellyfin-config - secretRef: name: jellyfin-secrets |
|
||||
| livenessProbe | object | `{"httpGet":{"path":"/health","port":"http"},"initialDelaySeconds":10}` | Configure liveness probe for Jellyfin. This probe is disabled during startup (startup probe handles initial checks). Uses httpGet for compatibility with both IPv4 and IPv6. |
|
||||
| metrics | object | `{"enabled":false,"serviceMonitor":{"enabled":false,"interval":"30s","labels":{},"metricRelabelings":[],"namespace":"","path":"/metrics","port":8096,"relabelings":[],"scheme":"http","scrapeTimeout":"30s","targetLabels":[],"tlsConfig":{}}}` | Configuration for metrics collection and monitoring |
|
||||
|
||||
@@ -124,27 +124,13 @@ HTTPRoute (Gateway API) is ENABLED:
|
||||
Access Jellyfin via Gateway API at:
|
||||
{{- if .Values.httpRoute.hostnames }}
|
||||
{{- range .Values.httpRoute.hostnames }}
|
||||
https://{{ . }}{{ (index $.Values.httpRoute.rules 0).matches 0 .path.value }}
|
||||
https://{{ . }}{{ with (index $.Values.httpRoute.rules 0) }}{{ with (index .matches 0) }}{{ .path.value }}{{ end }}{{ end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
(Configure httpRoute.hostnames for external access)
|
||||
{{- end }}
|
||||
|
||||
Note: Ensure your Gateway API CRDs are installed and Gateway is configured.
|
||||
{{- else if .Values.ingress.enabled }}
|
||||
{{- if .Values.ingress.enabled }}
|
||||
|
||||
Jellyfin is available via Ingress at:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ .host }}{{ (index .paths 0).path }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
|
||||
To access Jellyfin, you can use port-forwarding:
|
||||
|
||||
$ kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "jellyfin.fullname" . }} {{ .Values.service.port }}:{{ .Values.service.port }}
|
||||
|
||||
Then visit http://localhost:{{ .Values.service.port }} in your browser.
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.networkPolicy.enabled }}
|
||||
|
||||
Reference in new issue
Block a user