Add Helm chart for paperless-ai document management system
This commit introduces a new Helm chart for deploying paperless-ai, an AI- enhanced document management system based on paperless-ngx. The chart includes: - Complete deployment configuration with configurable replicas - Persistent volume support for data storage - Secret management for API tokens and keys - Environment variable configuration via ConfigMaps and Secrets - Ingress configuration options - Support for both OpenAI and Ollama AI providers - Customizable system prompts and document processing settings - CI workflow for automated chart packaging and publishing The chart enables Kubernetes users to easily deploy and configure the paperless-ai system with proper separation of configuration and secrets.
This commit is contained in:
		
							
								
								
									
										43
									
								
								.gitea/workflows/build-chart-paperless-ai.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.gitea/workflows/build-chart-paperless-ai.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
name: "Build Helm Chart"
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - main
 | 
			
		||||
    paths:
 | 
			
		||||
      - "charts/paperless-ai/Chart.yaml"
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  helm-package:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    env:
 | 
			
		||||
      APP: charts/paperless-ai
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout repository
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
 | 
			
		||||
      - name: Set Helm Chart App Name and Version
 | 
			
		||||
        id: get_version
 | 
			
		||||
        run: |
 | 
			
		||||
          APP_NAME=$(grep -oP '(?<=^name: ).*' ${{ env.APP }}/Chart.yaml)
 | 
			
		||||
          echo "Helm Chart App Name: $APP_NAME"
 | 
			
		||||
          echo "::set-output name=app::$APP_NAME"
 | 
			
		||||
 | 
			
		||||
          CHART_VERSION=$(grep -oP '(?<=^version: ).*' ${{ env.APP }}/Chart.yaml)
 | 
			
		||||
          echo "Helm Chart version: $CHART_VERSION"
 | 
			
		||||
          echo "::set-output name=tag::$CHART_VERSION"
 | 
			
		||||
 | 
			
		||||
      - name: Setup Helm
 | 
			
		||||
        run: |
 | 
			
		||||
          #curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
 | 
			
		||||
          curl -kSso /usr/local/bin/helm https://debmirror.cooltux.net/helm-v3.18.3 && chmod +x /usr/local/bin/helm
 | 
			
		||||
          helm version
 | 
			
		||||
 | 
			
		||||
      - name: Package Helm Chart
 | 
			
		||||
        run: |
 | 
			
		||||
          helm dependency update ${{ env.APP }}
 | 
			
		||||
          helm lint ${{ env.APP }}
 | 
			
		||||
          helm package ${{ env.APP }}
 | 
			
		||||
 | 
			
		||||
      - name: Upload Helm Package to repo
 | 
			
		||||
        run: |
 | 
			
		||||
          curl --user ${{ secrets.USER }}:${{ secrets.TOKEN }} -X POST --upload-file ./${{ steps.get_version.outputs.app }}-${{ steps.get_version.outputs.tag }}.tgz ${{ vars.HELMREGISTRY }}/api/packages/${{ vars.OWNER }}/helm/api/charts
 | 
			
		||||
		Reference in New Issue
	
	Block a user