Compare commits

..

121 Commits

Author SHA1 Message Date
a5a977cb5f Update Paperless AI Helm Chart to version 0.1.2
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
Updated the Paperless AI Helm chart to version 0.1.2 to reflect
recent changes and improvements. The service configuration has been
modified to use port 3000 instead of 30000, aligning with the
standard configuration, which improves consistency and avoids
potential port conflicts. Additionally, the tags for indexed
documents have been changed to "ai-indexed" to better reflect
the artificial intelligence-related capabilities.

No breaking changes were introduced, but it is important to
note the updated port configuration, which may require adjustments
in related deployments.
2025-07-07 16:56:12 +02:00
62c8e8b9c1 Bump version to 0.1.1 in Chart.yaml
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
Updated the version number in the Chart.yaml file from 0.1.0
to 0.1.1. This change reflects an incremental update to the
Paperless AI Helm Chart. It is necessary to ensure that users
can correctly identify the version of the chart they are using
and to facilitate future upgrades. There are no breaking changes
or additional features in this version; it serves primarily as
a version management update.
2025-07-07 13:02:25 +02:00
2527c8668c Fix version number and update memory limit in Chart.yaml
All checks were successful
Build Helm Chart / helm-package (push) Successful in 4s
The version number in Chart.yaml was changed from 0.3.0 to 0.1.0
to reflect a new release strategy. Alongside this, the memory limit
in values.yaml was increased from 640Mi to 704Mi. This adjustment
was made to better accommodate the application's resource requirements,
ensuring improved performance and stability. No breaking changes
were introduced with this update, and users should be aware of
this new versioning and resource configuration for their deployments.
2025-07-07 12:48:37 +02:00
c2937e2437 Bump paperless-ai chart version to 0.3.0 and update probes
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
Updated the version in Chart.yaml from 0.2.0 to 0.3.0 to reflect
the latest release of the paperless-ai application. In the
values.yaml file, modified the liveness and readiness probes'
HTTP path settings from '/health' to '/' for better compatibility
with the application's health check mechanism. This change
ensures that the probes work correctly and check the root
endpoint, which provides more reliable status information for
the application. No breaking changes were introduced.
2025-07-07 12:43:02 +02:00
6d714483ff Bump version to 0.2.0 and update health checks
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
Updated the Helm chart version for Paperless AI from 0.1.0 to
0.2.0 to reflect the latest enhancements. The liveness and
readiness probes were updated to switch the check path from
root (/) to /health, which is more appropriate for health
checks as it ensures the application is correctly reporting
its status. This change helps improve the reliability of
service monitoring and health reporting for deployment
environments.
2025-07-07 12:36:20 +02:00
9c999158ec Update Paperless AI chart version and persistence settings
The version of the Paperless AI Helm chart has been updated from
0.8.0 to 0.1.0 in the Chart.yaml file to reflect a new release cycle.

Additionally, the storageClassName in the values.yaml file has been
modified from "default" to an empty string to allow for a more flexible
storage backend configuration. Furthermore, the size of the persistent
volume has been decreased from 2Gi to 1Gi to optimize resource allocation
and usage based on current application needs.

These changes are necessary to ensure that the chart aligns with the
latest application updates and resource requirements.
2025-07-07 12:05:07 +02:00
6d0764947b Bump version to 0.8.0 and update persistence settings
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit updates the Helm chart for Paperless AI from version
0.7.0 to 0.8.0, aligning it with the new app version 3.0.7. The
persistent storage configuration is modified by enabling the
storageClassName and changing its value to "default". Additionally,
the size of the persistent volume claim has been increased from 1Gi
to 2Gi to better accommodate data storage needs. These updates are
necessary to ensure compatibility with the latest application
requirements and to enhance the performance of persistent storage.
No breaking changes are introduced with this update.
2025-07-07 11:53:42 +02:00
199ceeddf8 Update version to 0.7.0 and add RAG service configuration
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit updates the version of the Paperless AI Helm Chart
from 0.6.0 to 0.7.0, reflecting new changes and improvements in
the software.

Additionally, two new environment variables have been added
to the values.yaml file:
- `RAG_SERVICE_URL`, which sets the URL for the RAG service,
  defaulting to http://localhost:8000.
- `RAG_SERVICE_ENABLED`, a boolean flag to enable or disable the
  RAG service, set to true by default.

These changes are necessary to incorporate the RAG service in
the deployment configuration, enhancing the functionality
of Paperless AI. No breaking changes are introduced with this
update.
2025-07-07 10:46:46 +02:00
f9df49ddd1 Add support for Paperless AI API token and environment variables
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit introduces several significant changes to the Paperless AI
Helm chart:

- Updated the version from 0.5.0 to 0.6.0 in `Chart.yaml` to reflect
  the new additions.
- Added a new template `paperlessApiSecret.yaml` to define a Kubernetes
  Secret for the Paperless API token. This allows secure storage of the
  API token, which is now a required value for communication with the
  Paperless application.
- Introduced a new function in `_helpers.tpl` called `generateEnv`
  that dynamically generates a `.env` file from various configuration
  values in `values.yaml`. This includes settings for the Paperless API
  URL, AI provider, tagging options, scanning intervals, and more.
- Updated `values.yaml` to include necessary configurations for the
  Paperless API, OpenAI, and other related settings, making it easier
  for users to configure the chart per their requirements.
- Adjusted resource limits and initial probe delays for improved
  performance and quicker health checks.

These enhancements provide better configurability and facilitate
secure management of sensitive credentials, thereby improving user
experience and application reliability.
2025-07-06 19:39:58 +02:00
601bde7463 Update Paperless AI chart version and environment settings
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit updates the version of the Paperless AI Helm chart from
0.4.0 to 0.5.0 to reflect new changes and improvements. The PUID
and PGID environment variables have been changed from 1027 and 100
to 1000 and 2000, respectively, to better accommodate user and
group permissions.

Additionally, the resource requests and limits have been adjusted
to specify CPU and memory requirements (100m CPU and 128Mi memory),
ensuring that the container operates within defined resource
constraints. This change enhances performance and stability, making
the chart more suitable for various deployment environments.

No breaking changes were introduced, but users should verify their
permissions align with the new PUID and PGID settings.
2025-07-06 18:15:10 +02:00
a9f09a3a29 Bump version to 0.4.0 and clean up deployment.yaml
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
This commit updates the version of the Helm chart for Paperless AI from
0.3.0 to 0.4.0 to reflect the latest changes and improvements.

Additionally, unnecessary resource allocations in the
deployment.yaml file have been removed, particularly
the commented-out section related to resources. This
cleanup enhances readability and maintainability of the
chart's deployment configuration.

No breaking changes were introduced, but it simplifies the
environment variable section to improve clarity.
2025-07-06 17:42:05 +02:00
ef155f7733 Update Paperless AI Helm chart version and configuration
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
Updated the Paperless AI Helm chart to version 0.3.0 to reflect
the latest changes and improvements. Modified the deployment.yaml
by adding liveness and readiness probes, which enhance the
resilience and monitoring of the application by checking its
availability and readiness to serve traffic.

Additionally, adjusted the values.yaml file to set the service
account creation to false and commented out the PUID and PGID
environment variables for increased flexibility and to avoid
potential permission issues during deployment. Note that the
securityContext settings for the Pod and Container have also
been changed to disable the pod's user/group settings, which
may affect how the application interacts with resources.
2025-07-06 17:32:25 +02:00
a120d34f40 Update Paperless AI Helm Chart to version 0.2.0
All checks were successful
Build Helm Chart / helm-package (push) Successful in 4s
Bumped the version of the Paperless AI Helm chart from 0.1.0 to 0.2.0 to
reflect the latest updates. Various templates have been modified for
improved consistency and adherence to best practices.

Notable changes include:
- Removal of unnecessary comments in `pvc.yaml` for a cleaner
  look.
- Simplification of indentation and formatting in `ingress.yaml`,
  `pvc.yaml`, and `service.yaml` to ensure correct rendering of
  Kubernetes resources.
- Fixed comments in templates to clarify their purpose while
  removing inline comments for a streamlined approach.

These changes enhance maintainability and clarity within the
Helm chart templates. No breaking changes are introduced in this
update.
2025-07-06 09:59:35 +02:00
1672020396 Fix version number and update service template syntax
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
The version number in the Chart.yaml file has been changed from
0.2.0 to 0.1.0 to reflect the correct versioning of the paperless-ai
chart. This adjustment is necessary to avoid confusion regarding version
compatibility and ensure proper deployment practices.

Additionally, the service.yaml template has been refined to correct the
spacing in the service name and labels. Previously, there were extra
spaces around the include function calls, which could lead to
rendering issues in the generated Kubernetes manifests.

These changes are crucial for maintaining accurate versioning and
preventing potential application deployment errors. No breaking changes
are introduced in this update.
2025-07-06 09:16:00 +02:00
0eee0e7455 Bump version of paperless-ai chart to 0.2.0
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
Updated the version number in the Chart.yaml file for the
paperless-ai Helm chart from 0.1.0 to 0.2.0. This change was made
to reflect the latest updates and improvements made to the chart,
ensuring users are aware of the new version. No breaking changes
were introduced with this update, and the appVersion remains at
3.0.7.
2025-07-06 09:14:15 +02:00
a5fc085ab9 Refactor service.yaml for improved readability
Updated the service.yaml template by removing unnecessary comments and
whitespace for better readability. The updates include cleanup of the
Kubernetes service definition while maintaining the original functionality.
These changes simplify the code structure without altering the service's
behavior. No breaking changes were introduced, ensuring compatibility with
existing configurations.
2025-07-06 09:11:22 +02:00
ba732eb734 Refactor paperless-ai Helm chart for improved configuration
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
This update substantially refactors the paperless-ai Helm chart.
Key changes include:

- Complete removal of outdated files: `.helmignore`, `LICENSE`,
  `README.adoc`, and several template files like `configfileConfigmap.yaml`,
  `configmap.yaml`, `dataPvc.yaml`, `envfileSecret.yaml`,
  `openAiApiSecret.yaml`, `paperlessApiSecret.yaml`, and others.

- Introduction of a new Persistent Volume Claim configuration in
  `pvc.yaml` to simplify storage management.

- Significant updates to `Chart.yaml` for better metadata, including
  a new maintainer and project description in German.

- Enhancements to the main deployment template in `deployment.yaml`,
  focusing on clarity and proper utilization of Kubernetes security
  contexts, environment variables, and container properties.

- Updated service definitions in `service.yaml` with better labels
  and service properties.

- Refined the `ingress.yaml` to improve external service access
  management, including annotations for potential customization.

These changes were implemented to modernize the Helm chart based on
the current best practices, improve user experience, and set a
foundation for future enhancements. There are no breaking changes to
the existing user configurations.
2025-07-06 09:02:17 +02:00
c18b5c7514 chore(chart): bump version to 0.7.0 and appVersion to 3.0.7
All checks were successful
Build Helm Chart / helm-package (push) Successful in 4s
Updates the Paperless-AI Helm chart version from 0.1.0 to 0.7.0 and the
 application version from 2.1.3 to 3.0.7. This significant version jump
 reflects major improvements in the underlying application including new
 features and stability improvements. This update ensures the chart
 references the latest stable release of Paperless-AI.
2025-06-27 08:47:17 +02:00
f3fbaf942e refactor: move Helm chart to standard directory structure
All checks were successful
Build Helm Chart / helm-package (push) Successful in 4s
This commit restructures the paperless-ai Helm chart by moving all files
 from the nested directory (charts/paperless-ai/paperless-ai/) to the
 standard Helm chart directory structure (charts/paperless-ai/). The change
 eliminates the redundant directory nesting that was causing issues with
 Helm chart packaging and installation. No functional changes were made to
 any files - this is purely a directory structure reorganization to follow
 Helm best practices and improve chart maintainability.
2025-06-27 08:43:57 +02:00
8b3e5d2cc7 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.
2025-06-27 08:39:26 +02:00
1d7c89f32c .gitea/workflows/build-chart-excalidraw.yml aktualisiert 2025-06-21 09:51:08 +00:00
a52dc5a34b .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-21 09:50:52 +00:00
f034f58c5f .gitea/workflows/build-chart-dokuwiki.yml aktualisiert 2025-06-21 09:50:33 +00:00
179f4f022d charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
2025-06-20 10:30:47 +00:00
66e03103a9 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 3s
2025-06-20 10:26:36 +00:00
7156f97617 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 10:26:11 +00:00
4fa27126ef charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-20 10:22:13 +00:00
d4351617e2 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 10:21:46 +00:00
319a404d87 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
2025-06-20 10:19:35 +00:00
a73b48c7d2 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 10:19:17 +00:00
39c026abd8 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3s
2025-06-20 10:18:36 +00:00
4e16ddafa2 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 10:17:54 +00:00
88a0c10498 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-20 10:15:08 +00:00
17c340fcef .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 10:14:50 +00:00
3cec5cb5c1 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3m12s
2025-06-20 09:57:29 +00:00
f33fabf492 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-20 09:57:06 +00:00
e67ba5537f charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-14 07:32:51 +00:00
e2d449051e .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:32:30 +00:00
9748f7668d charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2m11s
2025-06-14 07:29:01 +00:00
08be643c91 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:28:27 +00:00
c822ec79b1 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-14 07:23:48 +00:00
7e06f43c5e .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:23:22 +00:00
b300e85847 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-14 07:22:00 +00:00
b46d32a9df .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:21:31 +00:00
afdc089b01 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-14 07:17:21 +00:00
8f0929119b .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:16:14 +00:00
786a5f3b97 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-14 07:14:18 +00:00
375e401024 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:13:30 +00:00
ff87aaa3a6 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-14 07:11:07 +00:00
e968d4fe66 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:10:47 +00:00
4bbd8a8fc9 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-14 07:09:07 +00:00
1887a59226 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:08:33 +00:00
9d30557cdc charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3m10s
2025-06-14 07:02:31 +00:00
64c4afda35 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:02:02 +00:00
531a2d9f97 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-14 07:00:51 +00:00
e3d520d878 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 07:00:11 +00:00
de579f43c3 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 06:59:55 +00:00
56d539157f .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-14 06:21:41 +00:00
19658e7deb charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-13 06:14:44 +00:00
99ad6bd7cc .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 06:14:20 +00:00
9a992b12ea charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3m39s
2025-06-13 05:55:08 +00:00
ac922fe4a0 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:54:44 +00:00
886cf72eb3 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:54:18 +00:00
2a262ba943 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-13 05:51:18 +00:00
dc5c502e13 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:50:49 +00:00
5498850d01 revert 6714632232
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
revert charts/excalidraw/Chart.yaml aktualisiert
2025-06-13 05:49:33 +00:00
6714632232 charts/excalidraw/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-13 05:46:27 +00:00
03095b2f5c .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:44:39 +00:00
7b39281caf charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-13 05:35:32 +00:00
d46d1c0fbb .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:35:13 +00:00
82808a0df3 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 2s
2025-06-13 05:34:32 +00:00
6f2c3cf6a1 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:34:10 +00:00
38fc2b483a charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Has been cancelled
2025-06-13 05:32:24 +00:00
50f40a9729 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:32:05 +00:00
2b2605ce0e charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3m12s
2025-06-13 05:21:37 +00:00
021b57c878 .gitea/workflows/build-chart-audiobookshelf.yml aktualisiert 2025-06-13 05:21:13 +00:00
bbe808fc26 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 3m11s
2025-06-12 18:23:51 +00:00
d1c417eb08 charts/dokuwiki/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 11s
2025-05-30 05:55:56 +00:00
6c2ba47264 charts/dokuwiki/values.yaml aktualisiert 2025-05-30 05:55:30 +00:00
f32622ead4 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
2025-05-29 23:26:17 +00:00
275a4eb6d8 ```
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
Bump Excalidraw chart version and update image tag

Updated the chart version from 1.0.1 to 1.0.2 to reflect the latest
changes in our configuration. Additionally, modified the image
tag in the values.yaml file to "latest" to ensure that the most
recent version of the Excalidraw image is pulled when deploying.
This small change aims to facilitate easier updates for users
and guarantee that they have access to the latest features and
bug fixes. Please note that using "latest" may have implications
for reproducibility in deployments.
```
2025-05-23 09:57:25 +02:00
e3d6c809a7 ```
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
Update Excalidraw Helm chart to version 1.0.1

This commit updates the Excalidraw Helm chart's metadata, changing
the appVersion from 0.17.6 to 0.18.0 and the chart version from
1.0.0 to 1.0.1. These changes reflect an update to the application
version to ensure compatibility with new features or fixes.
Additionally, in the deployment configuration, the container port
is now set directly to 80 instead of using a default provided by
the service values. This change simplifies the deployment
configuration and ensures that the container listens on the
expected port regardless of service value changes.
```
2025-05-23 09:45:24 +02:00
814028266b ```
Update excalidraw Helm chart values for clarity

Modified the values.yaml file for the excalidraw Helm chart
to enhance clarity and configuration consistency. Specific
changes include setting defaults for undefined values
such as image tag, pod security context, and resources,
ensuring that users can easily identify where to fill in
custom configurations. This update aims to prevent confusion
for users who might overlook required values due to empty
fields, thereby improving the overall user experience and
configuration process.
```
2025-05-23 07:52:50 +02:00
185e3515a1 ```
All checks were successful
Build Helm Chart / helm-package (push) Successful in 7s
Add Helm chart for Excalidraw deployment

This commit introduces a complete Helm chart for deploying
Excalidraw, a virtual whiteboard for sketching diagrams, on
Kubernetes. The chart includes essential templates for
deployment, service, ingress, horizontal pod autoscaler,
and service account, along with a README and values
configuration. Key features include customizable image
repository, resource requests, autoscaling support, and
ingress configuration options.

These changes facilitate easier deployment and management
of Excalidraw in Kubernetes environments, providing
users with a structured approach to configure their
installations. No breaking changes are introduced.
```
2025-05-23 07:37:38 +02:00
482a0743a7 charts/dokuwiki/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 18s
2025-05-16 07:10:54 +00:00
80c697e821 charts/dokuwiki/values.yaml aktualisiert 2025-05-16 07:10:09 +00:00
dbc98eef5d charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 8s
2025-05-14 18:52:05 +00:00
47609ebe39 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 18:51:43 +00:00
cceb234055 charts/audiobookshelf/templates/deployment.yaml aktualisiert 2025-05-14 18:50:55 +00:00
a86280ba2c charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
2025-05-14 18:38:28 +00:00
04c7983773 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 18:38:06 +00:00
d70fc19889 charts/audiobookshelf/templates/deployment.yaml aktualisiert 2025-05-14 18:36:03 +00:00
69f6db4b7a charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 8s
2025-05-14 18:30:35 +00:00
132da10297 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 18:30:14 +00:00
834fd2b584 charts/audiobookshelf/templates/deployment.yaml aktualisiert 2025-05-14 18:29:38 +00:00
aa76e07c64 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
2025-05-14 18:22:53 +00:00
1b1bd7974e charts/audiobookshelf/templates/deployment.yaml aktualisiert 2025-05-14 18:22:08 +00:00
277f2d5b00 charts/audiobookshelf/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 5s
2025-05-14 18:19:52 +00:00
40c947139c charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 18:19:33 +00:00
a1cf3b5ef9 charts/audiobookshelf/templates/deployment.yaml aktualisiert 2025-05-14 18:18:41 +00:00
b2daa948f9 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 7s
2025-05-14 18:04:30 +00:00
163f19382f charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 18:04:14 +00:00
7b6aea1222 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 5s
2025-05-14 17:56:44 +00:00
2a947a8e8d charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 17:56:28 +00:00
44d2f26075 charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 6s
2025-05-14 17:53:04 +00:00
b199b53b84 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 17:52:46 +00:00
0919f07efd charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 7s
2025-05-14 17:46:04 +00:00
df63414f6f charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 17:45:50 +00:00
29aebbd14d charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 8s
2025-05-14 17:40:11 +00:00
161237d5ff charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 17:39:47 +00:00
9c1ddb8a8b charts/audiobookshelf/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 7s
2025-05-14 17:28:03 +00:00
61da0d50d0 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 17:27:19 +00:00
5489c21f04 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 06:52:37 +00:00
da4b1d9a42 charts/audiobookshelf/values.yaml aktualisiert 2025-05-14 06:46:53 +00:00
a2c3a985bd charts/dokuwiki/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 24s
2025-05-09 02:36:42 +00:00
4a8694922d charts/dokuwiki/templates/ingress.yaml aktualisiert 2025-05-09 02:36:14 +00:00
d143a941f4 charts/dokuwiki/Chart.yaml aktualisiert
All checks were successful
Build Helm Chart / helm-package (push) Successful in 20s
2025-05-09 02:25:24 +00:00
a104563b97 charts/dokuwiki/templates/NOTES.txt aktualisiert 2025-05-09 02:21:24 +00:00
76b1b975d4 charts/dokuwiki/Chart.yaml aktualisiert
Some checks failed
Build Helm Chart / helm-package (push) Failing after 7s
2025-05-09 02:20:18 +00:00
1a65dec4d5 Merge pull request '```' (#1) from patch-dokuwiki into main
All checks were successful
Build Helm Chart / helm-package (push) Successful in 51s
Reviewed-on: #1
2025-05-08 19:14:49 +00:00
d6ceee2d48 ```
Update Dokuwiki dependencies and image tags

Updated the Docker image tags for dokuwiki, apache-exporter, and
os-shell in the Chart.yaml file to the latest versions. The changes
include:

- apache-exporter updated from 1.0.9 to 1.0.10
- dokuwiki updated from 20241217.1.0 to 20250508.1.0
- os-shell updated from 12-debian-12-r34 to 12-debian-12-r43

Additionally, incremented the chart version from 1.0.17 to 1.0.19
to reflect the changes in image versions and maintain compatibility
with the latest container deployments. These updates are necessary
to ensure stability, security, and access to the latest features.
No breaking changes are introduced with these updates.
```
2025-05-08 21:14:13 +02:00
27 changed files with 980 additions and 43 deletions

View File

@ -28,8 +28,9 @@ jobs:
- name: Setup Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
#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: |

View File

@ -28,8 +28,9 @@ jobs:
- name: Setup Helm
run: |
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
#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: |

View File

@ -0,0 +1,43 @@
name: "Build Helm Chart"
on:
push:
branches:
- main
paths:
- "charts/excalidraw/Chart.yaml"
jobs:
helm-package:
runs-on: ubuntu-latest
env:
APP: charts/excalidraw
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

View 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

View File

@ -2,8 +2,8 @@ apiVersion: v2
name: audiobookshelf
description: A Helm chart for Audiobookshelf
type: application
version: 1.7.0
appVersion: "2.20.0"
version: 1.9.2
appVersion: "2.25.1"
home: https://git.cooltux.net/marko/HelmChartSammlung/src/branch/main/charts/audiobookshelf
keywords:
- audiobookshelf

View File

@ -115,31 +115,25 @@ resources:
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 192Mi
memory: 128Mi
livenessProbe:
httpGet:
path: /
tcpSocket:
port: http
initialDelaySeconds: 15
timeoutSeconds: 10
initialDelaySeconds: 10
periodSeconds: 4
failureThreshold: 8
readinessProbe:
httpGet:
path: /
tcpSocket:
port: http
initialDelaySeconds: 15
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: 3
# Additional volumes on the output Deployment definition.
volumes: []

View File

@ -6,11 +6,11 @@ annotations:
licenses: Apache-2.0
images: |
- name: apache-exporter
image: docker.io/bitnami/apache-exporter:1.0.9-debian-12-r6
image: docker.io/bitnami/apache-exporter:1.0.10-debian-12-r5
- name: dokuwiki
image: git.cooltux.net/marko/docker-dokuwiki-debian12:20241217.1.0-debian-12-r15
image: git.cooltux.net/marko/docker-dokuwiki-debian12:20250516-debian-12
- name: os-shell
image: docker.io/bitnami/os-shell:12-debian-12-r34
image: docker.io/bitnami/os-shell:12-debian-12-r43
apiVersion: v2
dependencies:
- name: common
@ -18,20 +18,19 @@ dependencies:
tags:
- bitnami-common
version: 2.x.x
deprecated: false
description: DokuWiki is a standards-compliant wiki optimized for creating documentation. Designed to be simple to use for small organizations, it stores all data in plain text files so no database is required.
home: https://bitnami.com
icon: https://bitnami.com/assets/stacks/dokuwiki/img/dokuwiki-stack-220x234.png
keywords:
- dokuwiki
- wiki
- http
- web
- application
- php
- dokuwiki
- wiki
- http
- web
- application
- php
maintainers: []
name: dokuwiki
sources:
- https://git.cooltux.net/Interne-Entwicklungen/TuxNet-helm-charts.git/dokuwiki
version: 1.0.17
appVersion: "20241217.1.0-debian-12-r15"
- https://git.cooltux.net/Interne-Entwicklungen/TuxNet-helm-charts.git/dokuwiki
version: 1.1.1
appVersion: "20250530-debian-12"

View File

@ -1,5 +1,3 @@
This Helm chart is deprecated on our side and will not receive new updates.
CHART NAME: {{ .Chart.Name }}
CHART VERSION: {{ .Chart.Version }}
APP VERSION: {{ .Chart.AppVersion }}

View File

@ -31,9 +31,7 @@ spec:
{{- toYaml .Values.ingress.extraPaths | nindent 10 }}
{{- end }}
- path: {{ .Values.ingress.path }}
{{- if eq "true" (include "common.ingress.supportsPathType" .) }}
pathType: {{ .Values.ingress.pathType }}
{{- end }}
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "common.names.fullname" .) "servicePort" "http" "context" $) | nindent 14 }}
{{- end }}
{{- range .Values.ingress.extraHosts }}
@ -41,9 +39,7 @@ spec:
http:
paths:
- path: {{ default "/" .path }}
{{- if eq "true" (include "common.ingress.supportsPathType" $) }}
pathType: {{ default "ImplementationSpecific" .pathType }}
{{- end }}
backend: {{- include "common.ingress.backend" (dict "serviceName" (include "common.names.fullname" $) "servicePort" "http" "context" $) | nindent 14 }}
{{- end }}
{{- if .Values.ingress.extraRules }}

View File

@ -70,7 +70,7 @@ extraDeploy: []
image:
registry: git.cooltux.net
repository: marko/docker-dokuwiki-debian12
tag: "20241217.1.0-debian-12-r15"
tag: "20250530-debian-12"
digest: ""
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'

View File

@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

View File

@ -0,0 +1,17 @@
name: excalidraw
maintainers:
- name: kubitodev
url: https://kubito.dev
apiVersion: v2
appVersion: 0.18.0
version: 1.0.2
description: Kubito Excalidraw Helm Chart
home: https://github.com/kubitodev/helm/tree/main/charts/excalidraw
icon: https://kubito.dev/images/kubito.svg
keywords:
- kubernetes
- excalidraw
- diagrams
- design
sources:
- https://github.com/excalidraw/excalidraw

113
charts/excalidraw/README.md Normal file
View File

@ -0,0 +1,113 @@
# Excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams.
## TL;DR
```console
helm repo add kubitodev https://charts.kubito.dev
helm install excalidraw kubitodev/excalidraw
```
## Introduction
An open source virtual hand-drawn style whiteboard. Collaborative and end-to-end encrypted.
## Prerequisites
- Kubernetes 1.12+
- Helm 3.2.0+
## Installing the Chart
To install the chart with the release name `excalidraw`:
```console
helm install excalidraw kubitodev/excalidraw
```
The command deploys excalidraw on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation.
> **Tip**: List all releases using `helm list`
## Uninstalling the Chart
To uninstall/delete the `excalidraw` deployment:
```console
helm delete excalidraw
```
The command removes all the Kubernetes components associated with the chart and deletes the release.
## Parameters
### Excalidraw parameters
| Name | Description | Value |
| ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `replicaCount` | The number of replicas to deploy. | `1` |
| `image.repository` | The Docker repository to pull the image from. For `arm64` platforms, use `peek1e/excalidraw-arm64` until they add support. | `excalidraw/excalidraw` |
| `image.tag` | The image tag to use. | `latest` |
| `image.pullPolicy` | The logic of image pulling. | `IfNotPresent` |
| `imagePullSecrets` | The image pull secrets to use. | `[]` |
| `deployment.strategy.type` | The deployment strategy to use. | `Recreate` |
| `serviceAccount.create` | Whether to create a service account. | `true` |
| `serviceAccount.annotations` | Additional annotations to add to the service account. | `{}` |
| `serviceAccount.name` | The name of the service account to use. If not set and create is true, a new service account will be created with a generated name. | `""` |
| `podAnnotations` | Additional annotations to add to the pod. | `{}` |
| `podSecurityContext` | The security context to use for the pod. | `{}` |
| `securityContext` | The security context to use for the container. | `{}` |
| `initContainers` | Additional init containers to add to the pod. | `[]` |
| `service.type` | The type of service to create. | `ClusterIP` |
| `service.port` | The port on which the service will run. | `8080` |
| `service.nodePort` | The nodePort to use for the service. Only used if service.type is NodePort. | `""` |
| `ingress.enabled` | Whether to create an ingress for the service. | `false` |
| `ingress.className` | The ingress class name to use. | `""` |
| `ingress.annotations` | Additional annotations to add to the ingress. | `{}` |
| `ingress.hosts[0].host` | The host to use for the ingress. | `chart-example.local` |
| `ingress.hosts[0].paths[0].path` | The path to use for the ingress. | `/` |
| `ingress.hosts[0].paths[0].pathType` | The path type to use for the ingress. | `ImplementationSpecific` |
| `ingress.tls` | The TLS configuration for the ingress. | `[]` |
| `resources` | The resources to use for the pod. | `{}` |
| `autoscaling.enabled` | Whether to enable autoscaling. | `false` |
| `autoscaling.minReplicas` | The minimum number of replicas to scale to. | `1` |
| `autoscaling.maxReplicas` | The maximum number of replicas to scale to. | `100` |
| `autoscaling.targetCPUUtilizationPercentage` | The target CPU utilization percentage to use for autoscaling. | `80` |
| `autoscaling.targetMemoryUtilizationPercentage` | The target memory utilization percentage to use for autoscaling. | `80` |
| `nodeSelector` | The node selector to use for the pod. | `{}` |
| `tolerations` | The tolerations to use for the pod. | `[]` |
| `affinity` | The affinity to use for the pod. | `{}` |
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
```console
helm install example \
--set user=example \
--set password=example \
kubitodev/example
```
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart. For example,
```console
helm install example -f values.yaml kubitodev/example
```
> **Tip**: You can use the default [values.yaml](values.yaml)
## License
Copyright &copy; 2024 Kubito
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,66 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: excalidraw
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }}
{{- end }}
strategy:
{{- .Values.deployment.strategy | toYaml | nindent 4 }}
selector:
matchLabels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ .Values.serviceAccount.name | default "excalidraw" }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.initContainers }}
initContainers:
{{- toYaml .Values.initContainers | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
resources:
{{- toYaml .Values.resources | nindent 12 }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}

View File

@ -0,0 +1,31 @@
{{- if .Values.autoscaling.enabled }}
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: excalidraw
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: excalidraw
minReplicas: {{ .Values.autoscaling.minReplicas }}
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
metrics:
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,64 @@
{{- if .Values.ingress.enabled }}
{{- $fullName := "excalidraw" -}}
{{- $svcPort := .Values.service.port -}}
{{- if and .Values.ingress.className (not (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion)) }}
{{- if not (hasKey .Values.ingress.annotations "kubernetes.io/ingress.class") }}
{{- $_ := set .Values.ingress.annotations "kubernetes.io/ingress.class" .Values.ingress.className}}
{{- end }}
{{- end }}
{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1
{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}}
apiVersion: networking.k8s.io/v1beta1
{{- else -}}
apiVersion: extensions/v1beta1
{{- end }}
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if and .Values.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }}
ingressClassName: {{ .Values.ingress.className }}
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
{{- if and .pathType (semverCompare ">=1.18-0" $.Capabilities.KubeVersion.GitVersion) }}
pathType: {{ .pathType }}
{{- end }}
backend:
{{- if semverCompare ">=1.19-0" $.Capabilities.KubeVersion.GitVersion }}
service:
name: {{ $fullName }}
port:
number: {{ $svcPort }}
{{- else }}
serviceName: {{ $fullName }}
servicePort: {{ $svcPort }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,22 @@
apiVersion: v1
kind: Service
metadata:
name: excalidraw
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
spec:
type: {{ .Values.service.type | default "ClusterIP" }}
ports:
- port: {{ .Values.service.port | default 8080 }}
targetPort: http
protocol: TCP
name: http
{{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
nodePort: {{.Values.service.nodePort}}
{{ end }}
selector:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@ -0,0 +1,15 @@
{{- if .Values.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: excalidraw
labels:
app.kubernetes.io/name: excalidraw
app.kubernetes.io/instance: {{ .Release.Name | quote }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,118 @@
## @section Excalidraw parameters
## @param replicaCount The number of replicas to deploy.
## @param image.repository The Docker repository to pull the image from. For `arm64` platforms, use `peek1e/excalidraw-arm64` until they add support.
## @param image.tag The image tag to use.
## @param image.pullPolicy The logic of image pulling.
## @param imagePullSecrets The image pull secrets to use.
## @param deployment.strategy.type The deployment strategy to use.
## @param serviceAccount.create Whether to create a service account.
## @param serviceAccount.annotations Additional annotations to add to the service account.
## @param serviceAccount.name The name of the service account to use. If not set and create is true, a new service account will be created with a generated name.
## @param podAnnotations Additional annotations to add to the pod.
## @param podSecurityContext The security context to use for the pod.
## @param securityContext The security context to use for the container.
## @param initContainers Additional init containers to add to the pod.
## @param service.type The type of service to create.
## @param service.port The port on which the service will run.
## @param service.nodePort The nodePort to use for the service. Only used if service.type is NodePort.
## @param ingress.enabled Whether to create an ingress for the service.
## @param ingress.className The ingress class name to use.
## @param ingress.annotations Additional annotations to add to the ingress.
## @param ingress.hosts[0].host The host to use for the ingress.
## @param ingress.hosts[0].paths[0].path The path to use for the ingress.
## @param ingress.hosts[0].paths[0].pathType The path type to use for the ingress.
## @param ingress.tls The TLS configuration for the ingress.
## @param resources The resources to use for the pod.
## @param autoscaling.enabled Whether to enable autoscaling.
## @param autoscaling.minReplicas The minimum number of replicas to scale to.
## @param autoscaling.maxReplicas The maximum number of replicas to scale to.
## @param autoscaling.targetCPUUtilizationPercentage The target CPU utilization percentage to use for autoscaling.
## @param autoscaling.targetMemoryUtilizationPercentage The target memory utilization percentage to use for autoscaling.
## @param nodeSelector The node selector to use for the pod.
## @param tolerations The tolerations to use for the pod.
## @param affinity The affinity to use for the pod.
##
replicaCount: 1
image:
repository: excalidraw/excalidraw
pullPolicy: IfNotPresent
tag: "latest" # latest is only available
imagePullSecrets: []
deployment:
strategy:
type: Recreate
serviceAccount:
create: true
annotations: {}
name: ""
podAnnotations: {}
podSecurityContext:
{}
# fsGroup: 2000
securityContext:
{}
# capabilities:
# drop:
# - ALL
# readOnlyRootFilesystem: true
# runAsNonRoot: true
# runAsUser: 1000
# -- Init Containers
initContainers:
[]
# - name: init-container
# image: busybox
# command: ['sh', '-c', 'echo "this is an init container"']
service:
type: ClusterIP
port: 8080
nodePort: ""
ingress:
enabled: false
className: ""
annotations:
{}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: chart-example.local
paths:
- path: /
pathType: ImplementationSpecific
tls: []
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
resources:
{}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
targetMemoryUtilizationPercentage: 80
nodeSelector: {}
tolerations: []
affinity: {}

View File

@ -0,0 +1,17 @@
apiVersion: v2
name: paperless-ai
description: Ein Helm Chart für Paperless AI, basierend auf der Docker Compose Konfiguration.
version: 0.1.2
appVersion: 3.0.7
keywords:
- paperless-ai
- document-management
- ai
home: https://git.cooltux.net/marko/HelmChartSammlung/src/branch/main/charts/paperless-ai
sources:
- https://github.com/clusterzx/paperless-ai
- https://git.cooltux.net/marko/HelmChartSammlung/src/branch/main/charts/paperless-ai
maintainers:
- name: Marko Oldenburg
email: development@cooltux.net
url: https://git.cooltux.net/marko

View File

@ -0,0 +1,84 @@
{{/*
_helpers.tpl
Enthält nützliche Template-Funktionen, die in anderen Chart-Templates verwendet werden.
*/}}
{{/*
Erweitert den Namen des Charts.
*/}}
{{- define "paperless-ai.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Erstellt einen vollständig qualifizierten App-Namen.
Wir kürzen auf 63 Zeichen, da einige Kubernetes-Namenfelder darauf beschränkt sind (gemäß DNS-Namensspezifikation).
Wenn der Release-Name den Chart-Namen enthält, wird er als vollständiger Name verwendet.
*/}}
{{- define "paperless-ai.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Erstellt den Chart-Namen und die Version, wie sie vom Chart-Label verwendet werden.
*/}}
{{- define "paperless-ai.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Gängige Labels, die allen Ressourcen hinzugefügt werden.
*/}}
{{- define "paperless-ai.labels" -}}
helm.sh/chart: {{ include "paperless-ai.chart" . }}
{{ include "paperless-ai.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/app-version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector-Labels, die für die Auswahl von Pods verwendet werden.
*/}}
{{- define "paperless-ai.selectorLabels" -}}
app.kubernetes.io/name: {{ include "paperless-ai.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Erstellt den Namen des zu verwendenden Service Accounts.
*/}}
{{- define "paperless-ai.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "paperless-ai.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}
{{/*
Generiert den Inhalt der .env-Datei aus den Werten in .Values.secretEnv
*/}}
{{- define "generateEnv" -}}
{{- if .Values.paperless.apiUrl }}PAPERLESS_API_URL={{ .Values.paperless.apiUrl }}{{ "\n" }}{{- end }}
{{- if .Values.ai.provider }}AI_PROVIDER={{ .Values.ai.provider }}{{ "\n" }}{{- end }}
{{- if .Values.ai.addProcessedTag }}ADD_AI_PROCESSED_TAG={{ .Values.ai.addProcessedTag }}{{ "\n" }}{{- end }}
{{- if .Values.ai.processedTagName }}AI_PROCESSED_TAG_NAME={{ .Values.ai.processedTagName }}{{ "\n" }}{{- end }}
{{- if .Values.prompt.useTags }}USE_PROMPT_TAGS={{ .Values.prompt.useTags }}{{ "\n" }}{{- end }}
{{- if .Values.prompt.tags }}PROMPT_TAGS={{ .Values.prompt.tags }}{{ "\n" }}{{- end }}
{{- if .Values.scanInterval }}SCAN_INTERVAL={{ .Values.scanInterval }}{{ "\n" }}{{- end }}
{{- if .Values.systemPrompt }}SYSTEM_PROMPT=`{{ .Values.systemPrompt }}`{{ "\n" }}{{- end }}
{{- if .Values.processPredefinedDocuments }}PROCESS_PREDEFINED_DOCUMENTS={{ .Values.processPredefinedDocuments }}{{ "\n" }}{{- end }}
TAGS={{ .Values.tags }}{{ "\n" }}
{{- if .Values.openAi.model }}OPENAI_MODEL={{ .Values.openAi.model }}{{ "\n" }}{{- end }}
{{- end }}

View File

@ -0,0 +1,80 @@
# deployment.yaml
# Definiert das Kubernetes Deployment für die Paperless AI Anwendung.
# Ein Deployment verwaltet die Erstellung und Skalierung von Pods.
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "paperless-ai.fullname" . }} # Der Name des Deployments, generiert mit dem fullname-Template.
labels:
{{- include "paperless-ai.labels" . | nindent 4 }} # Allgemeine Labels für das Deployment.
spec:
{{- if not .Values.autoscaling.enabled }}
replicas: {{ .Values.replicaCount }} # Anzahl der gewünschten Pod-Replikate, wenn Autoscaling deaktiviert ist.
{{- end }}
selector:
matchLabels:
{{- include "paperless-ai.selectorLabels" . | nindent 6 }} # Selector, um die Pods zu finden, die zu diesem Deployment gehören.
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }} # Zusätzliche Anmerkungen für den Pod.
{{- end }}
labels:
{{- include "paperless-ai.selectorLabels" . | nindent 8 }} # Labels für den Pod.
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }} # Secrets für den Image-Pull, falls private Registries verwendet werden.
{{- end }}
serviceAccountName: {{ include "paperless-ai.serviceAccountName" . }} # Der zu verwendende Service Account.
{{- if .Values.securityContext.enabled }}
securityContext:
{{- toYaml .Values.securityContext.pod | nindent 8 }} # Sicherheitskontext-Einstellungen für den gesamten Pod.
{{- end }}
containers:
- name: {{ .Chart.Name }} # Name des Containers.
{{- if .Values.securityContext.enabled }}
securityContext:
{{- toYaml .Values.securityContext.container | nindent 12 }} # Sicherheitskontext-Einstellungen für diesen Container.
{{- end }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" # Das zu verwendende Image.
imagePullPolicy: {{ .Values.image.pullPolicy }} # Die Image-Pull-Policy.
ports:
- name: http # Name des Ports.
containerPort: {{ .Values.service.targetPort }} # Der Port, der im Container geöffnet ist.
protocol: TCP # Das Protokoll des Ports.
livenessProbe:
{{- toYaml .Values.livenessProbe | nindent 12 }}
readinessProbe:
{{- toYaml .Values.readinessProbe | nindent 12 }}
env:
{{- range $key, $value := .Values.env }}
- name: {{ $key }} # Name der Umgebungsvariable.
value: {{ $value | quote }} # Wert der Umgebungsvariable.
{{- end }}
{{- if .Values.persistence.enabled }}
volumeMounts:
- name: paperless-ai-data # Name des Volumes, das gemountet werden soll.
mountPath: /app/data # Der Pfad im Container, an dem das Volume gemountet wird.
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }} # Ressourcenanforderungen und -limits für den Container.
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }} # Node-Selector-Regeln für die Pod-Platzierung.
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }} # Affinitätsregeln für die Pod-Platzierung.
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }} # Toleranzen für die Pod-Platzierung auf Tainted Nodes.
{{- end }}
{{- if .Values.persistence.enabled }}
volumes:
- name: paperless-ai-data # Definiert ein Volume mit dem Namen 'paperless-ai-data'.
persistentVolumeClaim:
claimName: {{ include "paperless-ai.fullname" . }}-data # Verweist auf den Persistent Volume Claim.
{{- end }}

View File

@ -0,0 +1,38 @@
# ingress.yaml
# Definiert einen Kubernetes Ingress, um externen Zugriff auf den Service zu ermöglichen.
# Standardmäßig ist dieser Ingress deaktiviert und muss in 'values.yaml' aktiviert werden.
{{- if .Values.ingress.enabled -}} # Dieses Template wird nur gerendert, wenn 'ingress.enabled' true ist.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ include "paperless-ai.fullname" . }} # Der Name des Ingress
labels:
{{- include "paperless-ai.labels" . | nindent 4 }} # Allgemeine Labels für den Ingress.
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }} # Zusätzliche Anmerkungen für den Ingress (z.B. für Cert-Manager oder Nginx-Controller).
{{- end }}
spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className }} # Der Name der Ingress-Klasse.
{{- end }}
{{- if .Values.ingress.tls }}
tls:
{{- toYaml .Values.ingress.tls | nindent 4 }} # TLS-Konfiguration für HTTPS.
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }} # Der Hostname für den Ingress.
http:
paths:
{{- range .paths }}
- path: {{ .path }} # Der Pfad, der weitergeleitet werden soll.
pathType: {{ .pathType }} # Der Typ des Pfades (Prefix, Exact, ImplementationSpecific).
backend:
service:
name: {{ include "paperless-ai.fullname" $ }} # Name des Services, an den weitergeleitet wird.
port:
number: {{ $.Values.service.port }} # Port des Services.
{{- end }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,11 @@
{{- if .Values.paperless.apiToken }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "paperless-ai.fullname" . }}
labels:
{{- include "paperless-ai.labels" . | nindent 4 }}
type: Opaque
data:
PAPERLESS_API_TOKEN: {{ .Values.paperless.apiToken | b64enc | quote }}
{{- end }}

View File

@ -0,0 +1,17 @@
{{- if .Values.persistence.enabled }}
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "paperless-ai.fullname" . }}-data
labels:
{{- include "paperless-ai.labels" . | nindent 4 }}
spec:
accessModes:
- {{ .Values.persistence.accessMode }}
{{- if .Values.persistence.storageClassName }}
storageClassName: {{ .Values.persistence.storageClassName }}
{{- end }}
resources:
requests:
storage: {{ .Values.persistence.size }}
{{- end }}

View File

@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "paperless-ai.fullname" . }}
labels:
{{- include "paperless-ai.labels" . | nindent 4 }}
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: {{ .Values.service.targetPort }}
protocol: TCP
name: http
selector:
{{- include "paperless-ai.selectorLabels" . | nindent 4 }}

View File

@ -0,0 +1,131 @@
# paperless-ai config
paperless:
apiUrl: "http://paperless-ngx:8000"
apiToken:
ai:
provider: "openai"
addProcessedTag: yes
processedTagName: ai-processed
prompt:
useTags: yes
tags: Rechnung,Kontoauszug,Vertrag,Arbeitgeber
openAi:
apiKey:
model: "gpt-4o-mini"
ollama:
apiUrl: ""
model: ""
scanInterval: "*/30 * * * *"
systemPrompt: |-
Return the result EXCLUSIVELY as a JSON object. The Tags and Title MUST be in the language that is used in the document.:
{
"title": "xxxxx",
"correspondent": "xxxxxxxx",
"tags": ["Tag1", "Tag2", "Tag3", "Tag4"],
"document_date": "YYYY-MM-DD",
"language": "en/de/es/..."
}
processPredefinedDocuments: "no"
tags: "ai-indexed,ai-indexed2"
replicaCount: 1
image:
repository: clusterzx/paperless-ai
pullPolicy: IfNotPresent
tag: ""
serviceAccount:
create: false
annotations: {}
name: ""
service:
type: ClusterIP
port: 3000
targetPort: 3000
env:
PUID: 1000
PGID: 2000
PAPERLESS_AI_PORT: 3000
RAG_SERVICE_URL: http://localhost:8000
RAG_SERVICE_ENABLED: true
# Konfiguration für persistente Speicherung (Persistent Volume Claim).
persistence:
enabled: true
storageClassName: ""
accessMode: ReadWriteOnce
size: 1Gi
livenessProbe:
initialDelaySeconds: 30
httpGet:
path: /
port: http
readinessProbe:
initialDelaySeconds: 30
httpGet:
path: /
port: http
# Sicherheitskontext-Einstellungen für Pod und Container.
securityContext:
enabled: false
pod:
runAsUser: 1000
runAsGroup: 2000
fsGroup: 2000
container:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
# Konfiguration für Horizontal Pod Autoscaling (HPA).
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 10
targetCPUUtilizationPercentage: 80
# Ressourcenanforderungen und -limits für den Container.
resources:
limits:
cpu: 300m
memory: 704Mi
requests:
cpu: 100m
memory: 256Mi
# Node-Selector für die Pod-Platzierung.
nodeSelector: {}
# Toleranzen für die Pod-Platzierung auf Tainted Nodes.
tolerations: []
# Affinitätsregeln für die Pod-Platzierung.
affinity: {}
# Ingress-Konfiguration (optional, aber üblich für Webanwendungen).
ingress:
enabled: false
className: "" # Der Ingress-Klassenname (z.B. nginx, traefik).
annotations: {}
hosts:
- host: chart-example.local # Beispiel-Hostname.
paths:
- path: / # Der Pfad, der weitergeleitet werden soll.
pathType: ImplementationSpecific # Der Typ des Pfades (Prefix, Exact, ImplementationSpecific).
tls: [] # TLS-Konfiguration für den Ingress.
# - secretName: chart-example-tls # Name des Secrets, das das TLS-Zertifikat enthält.
# hosts:
# - chart-example.local # Hostnamen, für die das Zertifikat gültig ist.