chore(apps) remove duplicate apps
This commit is contained in:
parent
0b53d19e40
commit
6773a330aa
|
@ -1,99 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
||||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
|
@ -1,44 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "0.11.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.2
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.58
|
||||
deprecated: false
|
||||
description: Secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars, tasks and notes.
|
||||
home: https://truecharts.org/charts/incubator/etesync
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/etesync.png
|
||||
keywords:
|
||||
- etesync
|
||||
- sync
|
||||
- contacts
|
||||
- calendars
|
||||
- tasks
|
||||
- notes
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: etesync
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/etesync
|
||||
- https://www.etesync.com/
|
||||
- https://github.com/etesync
|
||||
- https://github.com/victor-rds/docker-etebase
|
||||
type: application
|
||||
version: 4.0.9
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- productivity
|
||||
- sync
|
||||
- contacts
|
||||
- calendars
|
||||
- tasks
|
||||
- notes
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
## [etesync-4.0.9](https://github.com/truecharts/charts/compare/etesync-4.0.8...etesync-4.0.9) (2023-06-15)
|
||||
|
||||
### Feat
|
||||
|
||||
- Add admin portal to GUI ([#9611](https://github.com/truecharts/charts/issues/9611))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
Secure, end-to-end encrypted, and privacy respecting sync for your contacts, calendars, tasks and notes.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/etesync](https://truecharts.org/charts/incubator/etesync)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
|
@ -1,100 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/etesync
|
||||
pullPolicy: IfNotPresent
|
||||
tag: 0.11.0@sha256:47478da0d1b3ab18d5bfbcd4537fa80305ace94746b01c32e609c7e9e663d860
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
runAsUser: 373
|
||||
runAsGroup: 373
|
||||
readOnlyRootFilesystem: false
|
||||
pod:
|
||||
fsGroup: 373
|
||||
|
||||
# Docker image configuration docs:
|
||||
# https://github.com/victor-rds/docker-etebase#settings-and-customization
|
||||
|
||||
# EteSync configuration docs:
|
||||
# https://github.com/etesync/server#configuration
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
probes:
|
||||
liveness:
|
||||
type: tcp
|
||||
readiness:
|
||||
type: tcp
|
||||
startup:
|
||||
type: tcp
|
||||
env:
|
||||
PORT: "{{ .Values.service.main.ports.main.port }}"
|
||||
# App
|
||||
SERVER: http
|
||||
AUTO_UPDATE: true
|
||||
ALLOWED_HOSTS: "localhost"
|
||||
AUTO_SIGNUP: false
|
||||
LANGUAGE_CODE: "en-us"
|
||||
TIME_ZONE: "{{ .Values.TZ }}"
|
||||
|
||||
# Debugging
|
||||
DEBUG: false
|
||||
SHELL_DEBUG: false
|
||||
DEBUG_DJANGO: false
|
||||
|
||||
# Postgres
|
||||
DB_ENGINE: postgres
|
||||
DATABASE_NAME: "{{ .Values.cnpg.main.database }}"
|
||||
DATABASE_USER: "{{ .Values.cnpg.main.user }}"
|
||||
DATABASE_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: cnpg-main-user
|
||||
key: password
|
||||
DATABASE_HOST:
|
||||
secretKeyRef:
|
||||
name: cnpg-main-urls
|
||||
key: host
|
||||
DATABASE_PORT: 5432
|
||||
REDIS_URI:
|
||||
secretKeyRef:
|
||||
expandObjectName: false
|
||||
name: '{{ printf "%s-%s" .Release.Name "rediscreds" }}'
|
||||
key: url
|
||||
# Superuser
|
||||
SUPER_USER: "admin"
|
||||
SUPER_PASS: ""
|
||||
SUPER_EMAIL: ""
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
protocol: http
|
||||
port: 10254
|
||||
|
||||
persistence:
|
||||
app:
|
||||
enabled: true
|
||||
mountPath: "/data"
|
||||
secret:
|
||||
enabled: true
|
||||
type: secret
|
||||
readOnly: true
|
||||
mountPath: "/data/secret.txt"
|
||||
subPath: "secret.txt"
|
||||
objectName: "etesync-secret"
|
||||
|
||||
# Enabled postgres
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
user: etesync
|
||||
database: etesync
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1,10 +0,0 @@
|
|||
{{/* EteSync superuser credentials and Django SECRET_KEY */}}
|
||||
{{- define "etesync.secret" -}}
|
||||
enabled: true
|
||||
data:
|
||||
{{- with (lookup "v1" "Secret" .Release.Namespace "etesync-secret") }}
|
||||
secret.txt: {{ index .data "secret.txt" | b64dec }}
|
||||
{{- else }}
|
||||
secret.txt: {{ randAlphaNum 32 }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
|
@ -1,11 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render secrets for etesync */}}
|
||||
{{- $secret := include "etesync.secret" . | fromYaml -}}
|
||||
{{- if $secret -}}
|
||||
{{- $_ := set .Values.secret "etesync-secret" $secret -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -1,10 +0,0 @@
|
|||
icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/etesync.png
|
||||
categories:
|
||||
- productivity
|
||||
- sync
|
||||
- contacts
|
||||
- calendars
|
||||
- tasks
|
||||
- notes
|
||||
|
||||
screenshots: []
|
|
@ -1,99 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.3](https://github.com/truecharts/charts/compare/frigate-8.0.2...frigate-8.0.3) (2023-06-07)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9423](https://github.com/truecharts/charts/issues/9423))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.2](https://github.com/truecharts/charts/compare/frigate-8.0.1...frigate-8.0.2) (2023-06-06)
|
||||
|
||||
### Fix
|
||||
|
||||
- Fix questions default value ([#9414](https://github.com/truecharts/charts/issues/9414))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.1](https://github.com/truecharts/charts/compare/frigate-8.0.0...frigate-8.0.1) (2023-06-04)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.0](https://github.com/truecharts/charts/compare/frigate-7.0.1...frigate-8.0.0) (2023-06-04)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-7.0.1](https://github.com/truecharts/charts/compare/frigate-7.0.0...frigate-7.0.1) (2023-06-04)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9393](https://github.com/truecharts/charts/issues/9393))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-7.0.0](https://github.com/truecharts/charts/compare/frigate-6.0.2...frigate-7.0.0) (2023-06-01)
|
||||
|
||||
### Feat
|
||||
|
||||
- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203))
|
||||
- port to new common ([#9141](https://github.com/truecharts/charts/issues/9141))
|
||||
|
||||
### Fix
|
||||
|
||||
- fix mistakes on questions.yaml
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-6.0.2](https://github.com/truecharts/charts/compare/frigate-6.0.1...frigate-6.0.2) (2023-02-10)
|
||||
|
||||
### Fix
|
||||
|
||||
- ensure new helm deps repo is used in latest releases as well.
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-6.0.1](https://github.com/truecharts/charts/compare/frigate-6.0.0...frigate-6.0.1) (2023-02-02)
|
||||
|
||||
### Fix
|
||||
|
||||
- remove non-link sources ([#6826](https://github.com/truecharts/charts/issues/6826))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-6.0.0](https://github.com/truecharts/charts/compare/frigate-5.0.14...frigate-6.0.0) (2023-01-21)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-5.0.14](https://github.com/truecharts/charts/compare/frigate-5.0.13...frigate-5.0.14) (2022-12-27)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-5.0.13](https://github.com/truecharts/charts/compare/frigate-5.0.12...frigate-5.0.13) (2022-12-26)
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "0.12.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.13.0
|
||||
deprecated: false
|
||||
description: NVR With Realtime Object Detection for IP Cameras
|
||||
home: https://truecharts.org/charts/incubator/frigate
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png
|
||||
keywords:
|
||||
- encode
|
||||
- nvr
|
||||
- media
|
||||
- frigate
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: frigate
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/frigate
|
||||
- https://github.com/blakeblackshear/frigate
|
||||
type: application
|
||||
version: 8.0.4
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- nvr
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
NVR With Realtime Object Detection for IP Cameras
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/frigate](https://truecharts.org/charts/incubator/frigate)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
|
@ -1,471 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/frigate
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.12.0@sha256:6fac983662fc6095ffdc8dd494f0c918192ddab80602f01d50a3569dab868148
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
# -- The "render_config" key is only used internally to "render" or not the configuration
|
||||
# - Some parts of the config bellow are slightly modified so they can be added on SCALE UI. Mainly lists.
|
||||
# - Do not blindly copy paste configuration from upstream. As this won't work on all cases
|
||||
# - Where you see "null" set as default is ignored by the configmap. (Not all keys are supported).
|
||||
# - Those "nulls" should be replaced with integers (if you want to set a value)
|
||||
frigate:
|
||||
mqtt:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: true
|
||||
# -- Enables MQTT
|
||||
enabled: false
|
||||
host: mqtt.server.com
|
||||
port: 1883
|
||||
# -- NOTE: Must be unique if you are running multiple instances
|
||||
topic_prefix: ""
|
||||
# -- NOTE: Must be unique if you are running multiple instances
|
||||
client_id: ""
|
||||
user: ""
|
||||
password: ""
|
||||
stats_interval: 60
|
||||
|
||||
detectors:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
config: []
|
||||
# -- Required: Name of the detector
|
||||
# - name: coral
|
||||
# # -- Valid values are 'edgetpu' (requires device property below) and 'cpu'.
|
||||
# type: edgetpu
|
||||
# # -- Device name as defined here: https://coral.ai/docs/edgetpu/multiple-edgetpu/#using-the-tensorflow-lite-python-api
|
||||
# device: usb
|
||||
# # -- This value is only used for CPU types
|
||||
# num_threads: 3
|
||||
|
||||
model:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Required: Object detection model input width
|
||||
width: 320
|
||||
# -- Required: Object detection model input height
|
||||
height: 320
|
||||
# -- Optional: Path to the model
|
||||
path: ""
|
||||
# -- Optional: Path to the labelmap
|
||||
labelmap_path: ""
|
||||
# -- Optional: Label name modifications.
|
||||
labelmap: []
|
||||
# - model: "2"
|
||||
# name: vehicle
|
||||
# - model: 3
|
||||
# name: vehicle
|
||||
|
||||
logger:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Default log verbosity (default: shown below)
|
||||
default: info
|
||||
# -- Optional: Component specific logger overrides
|
||||
logs: []
|
||||
# - component: frigate.event
|
||||
# verbosity: debug
|
||||
|
||||
birdseye:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Enables birdseye
|
||||
enabled: true
|
||||
# -- Optional: Width of the output resolution
|
||||
width: null
|
||||
# -- Optional: Height of the output resolution
|
||||
height: null
|
||||
# -- Optional: Encoding quality of the mpeg1 feed
|
||||
# - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
|
||||
quality: null
|
||||
# -- Optional: Mode of the view. Available options are: objects, motion, and continuous
|
||||
# - objects - cameras are included if they have had a tracked object within the last 30 seconds
|
||||
# - motion - cameras are included if motion was detected in the last 30 seconds
|
||||
# - continuous - all cameras are included always
|
||||
mode: ""
|
||||
|
||||
ffmpeg:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: global ffmpeg args
|
||||
global_args: ""
|
||||
# -- Optional: global input args
|
||||
input_args: ""
|
||||
# -- Optional: global hwaccel args
|
||||
# - NOTE: See hardware acceleration docs for your specific device
|
||||
hwaccel_args: ""
|
||||
# -- Optional: global output args
|
||||
output_args:
|
||||
# -- Optional: output args for detect streams
|
||||
detect: ""
|
||||
# -- Optional: output args for record streams
|
||||
record: ""
|
||||
# -- Optional: output args for rtmp streams
|
||||
rtmp: ""
|
||||
|
||||
detect:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Enables detection for the camera.
|
||||
# - This value can be set via MQTT and will be updated in startup based on retained value
|
||||
enabled: true
|
||||
# -- Optional: width of the frame for the input with the detect role
|
||||
width: null
|
||||
# -- Optional: height of the frame for the input with the detect role
|
||||
height: null
|
||||
# -- Optional: desired fps for your camera for the input with the detect role
|
||||
# - NOTE: Recommended value of 5. Ideally, try and reduce your FPS on the camera.
|
||||
fps: null
|
||||
# -- Optional: Number of frames without a detection before frigate considers an object to be gone. (default: 5x the frame rate)
|
||||
max_disappeared: null
|
||||
# -- Optional: Configuration for stationary object tracking
|
||||
stationary:
|
||||
# -- Optional: Frequency for confirming stationary objects
|
||||
# - When set to 0, object detection will not confirm stationary objects until movement is detected.
|
||||
# - If set to 10, object detection will run to confirm the object still exists on every 10th frame.
|
||||
interval: null
|
||||
# -- Optional: Number of frames without a position change for an object to be considered stationary (default: 10x the frame rate or 10s)
|
||||
threshold: null
|
||||
# -- Optional: Define a maximum number of frames for tracking a stationary object (default: not set, track forever)
|
||||
# - This can help with false positives for objects that should only be stationary for a limited amount of time.
|
||||
# - It can also be used to disable stationary object tracking. For example, you may want to set a value for person, but leave
|
||||
# - car at the default.
|
||||
# - WARNING: Setting these values overrides default behavior and disables stationary object tracking.
|
||||
# - There are very few situations where you would want it disabled. It is NOT recommended to
|
||||
# - copy these values from the example config into your config unless you know they are needed.
|
||||
# max_frames:
|
||||
# # -- Optional: Default for all object types (default: not set, track forever)
|
||||
# default:
|
||||
# # -- Optional: Object specific values
|
||||
# objects:
|
||||
# - object: person
|
||||
# frames: 1000
|
||||
|
||||
objects:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: list of objects to track from labelmap.txt
|
||||
track: []
|
||||
# - person
|
||||
# - car
|
||||
# -- Optional: mask to prevent all object types from being detected in certain areas (default: no mask)
|
||||
# - Checks based on the bottom center of the bounding box of the object.
|
||||
# - NOTE: This mask is COMBINED with the object type specific mask below
|
||||
mask: ""
|
||||
# - Optional: filters to reduce false positives for specific object types
|
||||
filters: []
|
||||
# - object: person
|
||||
# # -- Optional: Minimum width*height of the bounding box for the detected object
|
||||
# min_area: 5000
|
||||
# # -- Optional: Maximum width*height of the bounding box for the detected object
|
||||
# max_area: 100000
|
||||
# # -- Optional: Minimum width/height of the bounding box for the detected object
|
||||
# min_ratio: "0.5"
|
||||
# # -- Optional: Maximum width/height of the bounding box for the detected object
|
||||
# max_ratio: "2.0"
|
||||
# # -- Optional: Minimum score for the object to initiate tracking
|
||||
# min_score: "0.5"
|
||||
# # -- Optional: Minimum decimal percentage for tracked object's computed score to be considered a true positive
|
||||
# threshold: "0.7"
|
||||
# # -- Optional: Mask to prevent this object type from being detected in certain areas
|
||||
# # - Checks based on the bottom center of the bounding box of the object
|
||||
# mask: 0,0,1000,0,1000,200,0,200
|
||||
|
||||
motion:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: The threshold passed to cv2.threshold to determine if a pixel is different enough to be counted as motion.
|
||||
# - Increasing this value will make motion detection less sensitive and decreasing it will make motion detection more sensitive.
|
||||
# - The value should be between 1 and 255.
|
||||
threshold: null
|
||||
# -- Optional: Minimum size in pixels in the resized motion image that counts as motion
|
||||
# - Increasing this value will prevent smaller areas of motion from being detected. Decreasing will
|
||||
# - make motion detection more sensitive to smaller moving objects.
|
||||
# - As a rule of thumb:
|
||||
# - 15 - high sensitivity
|
||||
# - 30 - medium sensitivity
|
||||
# - 50 - low sensitivity
|
||||
contour_area: null
|
||||
# -- Optional: Alpha value passed to cv2.accumulateWeighted when averaging the motion delta across multiple frames
|
||||
# - Higher values mean the current frame impacts the delta a lot, and a single raindrop may register as motion.
|
||||
# - Too low and a fast moving person wont be detected as motion.
|
||||
delta_alpha: ""
|
||||
# -- Optional: Alpha value passed to cv2.accumulateWeighted when averaging frames to determine the background
|
||||
# - Higher values mean the current frame impacts the average a lot, and a new object will be averaged into the background faster.
|
||||
# - Low values will cause things like moving shadows to be detected as motion for longer.
|
||||
# - https://www.geeksforgeeks.org/background-subtraction-in-an-image-using-concept-of-running-average/
|
||||
frame_alpha: ""
|
||||
# -- Optional: Height of the resized motion frame (default: 50)
|
||||
# - This operates as an efficient blur alternative. Higher values will result in more granular motion detection at the expense
|
||||
# - of higher CPU usage. Lower values result in less CPU, but small changes may not register as motion.
|
||||
frame_height: null
|
||||
# -- Optional: motion mask
|
||||
# - NOTE: see docs for more detailed info on creating masks
|
||||
mask: ""
|
||||
# -- Optional: improve contrast
|
||||
# - Enables dynamic contrast improvement. This should help improve night detections at the cost of making motion detection more sensitive
|
||||
# - for daytime.
|
||||
improve_contrast: false
|
||||
# -- Optional: Delay when updating camera motion through MQTT from ON -> OFF
|
||||
mqtt_off_delay: null
|
||||
|
||||
record:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Enable recording
|
||||
# - WARNING: If recording is disabled in the config, turning it on via
|
||||
# - the UI or MQTT later will have no effect.
|
||||
# - WARNING: Frigate does not currently support limiting recordings based
|
||||
# - on available disk space automatically. If using recordings,
|
||||
# - you must specify retention settings for a number of days that
|
||||
# - will fit within the available disk space of your drive or Frigate will crash.
|
||||
enabled: false
|
||||
# -- Optional: Number of minutes to wait between cleanup runs
|
||||
# - This can be used to reduce the frequency of deleting recording segments from disk if you want to minimize i/o
|
||||
expire_interval:
|
||||
# -- Optional: Retention settings for recording
|
||||
retain:
|
||||
# -- Render retain config
|
||||
render_config: false
|
||||
# -- Optional: Number of days to retain recordings regardless of events
|
||||
# - NOTE: This should be set to 0 and retention should be defined in events section below
|
||||
# - if you only want to retain recordings of events.
|
||||
days:
|
||||
# -- Optional: Mode for retention. Available options are: all, motion, and active_objects
|
||||
# - all - save all recording segments regardless of activity
|
||||
# - motion - save all recordings segments with any detected motion
|
||||
# - active_objects - save all recording segments with active/moving objects
|
||||
# - NOTE: this mode only applies when the days setting above is greater than 0
|
||||
mode: ""
|
||||
# -- Optional: Event recording settings
|
||||
events:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Number of seconds before the event to include
|
||||
pre_capture: null
|
||||
# -- Optional: Number of seconds after the event to include
|
||||
post_capture: null
|
||||
# -- Optional: Objects to save recordings for. Defaults to all
|
||||
objects: []
|
||||
# - person
|
||||
# -- Optional: Restrict recordings to objects that entered any of the listed zones
|
||||
required_zones: []
|
||||
# -- Optional: Retention settings for recordings of events
|
||||
retain:
|
||||
# -- Render retain config
|
||||
render_config: false
|
||||
# -- Required: Default retention days
|
||||
default: 10
|
||||
# -- Optional: Mode for retention.
|
||||
# - all - save all recording segments for events regardless of activity
|
||||
# - motion - save all recordings segments for events with any detected motion
|
||||
# - active_objects - save all recording segments for event with active/moving objects
|
||||
mode: ""
|
||||
# -- Optional: Per object retention days
|
||||
objects: []
|
||||
# - object: person
|
||||
# days: 15
|
||||
|
||||
snapshots:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Enable writing jpg snapshot to /media/frigate/clips
|
||||
# - This value can be set via MQTT and will be updated in startup based on retained value
|
||||
enabled: false
|
||||
# -- Optional: Save a clean PNG copy of the snapshot image
|
||||
clean_copy: true
|
||||
# -- Optional: print a timestamp on the snapshots
|
||||
timestamp: false
|
||||
# -- Optional: draw bounding box on the snapshots
|
||||
bounding_box: false
|
||||
# -- Optional: crop the snapshot
|
||||
crop: false
|
||||
# -- Optional: height to resize the snapshot to (default: original size)
|
||||
height:
|
||||
# -- Optional: Restrict snapshots to objects that entered any of the listed zones (default: no required zones)
|
||||
required_zones: []
|
||||
# -- Optional: Camera override for retention settings (default: global values)
|
||||
retain:
|
||||
# -- Render retain config
|
||||
render_config: false
|
||||
# -- Required: Default retention days (default: shown below)
|
||||
default: 10
|
||||
# -- Optional: Per object retention days
|
||||
objects: []
|
||||
# - object: person
|
||||
# days: 15
|
||||
|
||||
rtmp:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# - Optional: Enable the RTMP stream
|
||||
enabled: true
|
||||
|
||||
live:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Set the height of the live stream. (default: 720)
|
||||
# - This must be less than or equal to the height of the detect stream. Lower resolutions
|
||||
# - reduce bandwidth required for viewing the live stream. Width is computed to match known aspect ratio.
|
||||
height: null
|
||||
# -- Optional: Set the encode quality of the live stream (default: shown below)
|
||||
# - 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
|
||||
quality: null
|
||||
|
||||
timestamp_style:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Position of the timestamp
|
||||
# - "tl" (top left), "tr" (top right), "bl" (bottom left), "br" (bottom right)
|
||||
position: ""
|
||||
# -- Optional: Format specifier conform to the Python package "datetime"
|
||||
# - Additional Examples:
|
||||
# - german: "%d.%m.%Y %H:%M:%S"
|
||||
format: ""
|
||||
# -- Optional: Color of font
|
||||
color:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- All Required when color is specified (default: shown below)
|
||||
red: 255
|
||||
green: 255
|
||||
blue: 255
|
||||
# -- Optional: Line thickness of font (default: shown below)
|
||||
thickness: null
|
||||
# -- Optional: Effect of lettering (default: shown below)
|
||||
# - None (No effect),
|
||||
# - "solid" (solid background in inverse color of font)
|
||||
# - "shadow" (shadow for font)
|
||||
effect: ""
|
||||
|
||||
cameras:
|
||||
# -- Required: name of the camera
|
||||
- camera_name: back
|
||||
# -- Required: ffmpeg settings for the camera
|
||||
ffmpeg:
|
||||
# -- Required: A list of input streams for the camera. See documentation for more information.
|
||||
inputs:
|
||||
# -- Required: the path to the stream
|
||||
- path: rtsp://viewer:password@10.0.10.10:554/cam/realmonitor?channel=1&subtype=2
|
||||
# -- Required: list of roles for this stream. valid values are: detect,record,rtmp
|
||||
# - NOTICE: In addition to assigning the record, and rtmp roles,
|
||||
# - they must also be enabled in the camera config.
|
||||
roles:
|
||||
- detect
|
||||
- rtmp
|
||||
# -- Optional: stream specific global args
|
||||
global_args: ""
|
||||
# - Optional: stream specific hwaccel args
|
||||
hwaccel_args: ""
|
||||
# - Optional: stream specific input args
|
||||
input_args: ""
|
||||
# - Optional: stream specific output args
|
||||
output_args:
|
||||
detect: ""
|
||||
record: ""
|
||||
rtmp: ""
|
||||
# -- Optional: camera specific global args
|
||||
global_args: ""
|
||||
# -- Optional: camera specific hwaccel args
|
||||
hwaccel_args: ""
|
||||
# -- Optional: camera specific input args
|
||||
input_args: ""
|
||||
# -- Optional: camera specific output args
|
||||
output_args:
|
||||
detect: ""
|
||||
record: ""
|
||||
rtmp: ""
|
||||
# -- Optional: timeout for highest scoring image before allowing it
|
||||
# - to be replaced by a newer image.
|
||||
best_image_timeout: 60
|
||||
# -- Optional: zones for this camera
|
||||
zones:
|
||||
# -- Required: name of the zone
|
||||
# - NOTE: This must be different than any camera names, but can match with another zone on another camera
|
||||
- name: front_steps
|
||||
# -- Required: List of x,y coordinates to define the polygon of the zone.
|
||||
# - NOTE: Presence in a zone is evaluated only based on the bottom center of the objects bounding box.
|
||||
coordinates: 545,1077,747,939,788,805
|
||||
# -- Optional: List of objects that can trigger this zone (default: all tracked objects)
|
||||
objects: []
|
||||
# - person
|
||||
# -- Optional: Zone level object filters.
|
||||
# -NOTE: The global and camera filters are applied upstream.
|
||||
filters: []
|
||||
# - object: person
|
||||
# min_area: null
|
||||
# max_area: null
|
||||
# threshold: ""
|
||||
# -- Optional: Configuration for the jpg snapshots published via MQTT
|
||||
mqtt:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Enable publishing snapshot via mqtt for camera
|
||||
# - NOTE: Only applies to publishing image data to MQTT via 'frigate/<camera_name>/<object_name>/snapshot'.
|
||||
# - All other messages will still be published.
|
||||
enabled: true
|
||||
# -- Optional: print a timestamp on the snapshots
|
||||
timestamp: true
|
||||
# -- Optional: draw bounding box on the snapshots
|
||||
bounding_box: true
|
||||
# -- Optional: crop the snapshot
|
||||
crop: true
|
||||
# -- Optional: height to resize the snapshot to
|
||||
height: null
|
||||
# -- Optional: jpeg encode quality
|
||||
quality: null
|
||||
# -- Optional: Restrict mqtt messages to objects that entered any of the listed zones
|
||||
required_zones: []
|
||||
# -- Optional: Configuration for how camera is handled in the GUI.
|
||||
ui:
|
||||
# -- Enable it to add the configuration in the config file
|
||||
render_config: false
|
||||
# -- Optional: Adjust sort order of cameras in the UI. Larger numbers come later
|
||||
# - By default the cameras are sorted alphabetically.
|
||||
order: null
|
||||
# -- Optional: Whether or not to show the camera in the Frigate UI
|
||||
dashboard: true
|
||||
|
||||
ingress:
|
||||
rtmp:
|
||||
autoLink: true
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 10500
|
||||
protocol: http
|
||||
targetPort: 5000
|
||||
rtmp:
|
||||
enabled: true
|
||||
ports:
|
||||
rtmp:
|
||||
enabled: true
|
||||
port: 1935
|
||||
targetPort: 1935
|
||||
|
||||
persistence:
|
||||
media:
|
||||
enabled: true
|
||||
mountPath: /media
|
||||
db:
|
||||
enabled: true
|
||||
mountPath: /db
|
||||
frigate-config:
|
||||
enabled: true
|
||||
mountPath: /config
|
||||
type: configmap
|
||||
objectName: frigate-config
|
||||
items:
|
||||
- key: config.yml
|
||||
path: config.yml
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -1,496 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "frigate.configmap" -}}
|
||||
enabled: true
|
||||
data:
|
||||
config.yml: |
|
||||
database:
|
||||
path: /db/frigate.db
|
||||
|
||||
mqtt:
|
||||
{{- include "frigate.mqtt" .Values.frigate.mqtt | indent 6 }}
|
||||
|
||||
{{- if and .Values.frigate.detectors.render_config .Values.frigate.detectors.config }}
|
||||
detectors:
|
||||
{{- include "frigate.detectors" .Values.frigate.detectors | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.model.render_config }}
|
||||
model:
|
||||
{{- include "frigate.model" .Values.frigate.model | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.logger.render_config }}
|
||||
logger:
|
||||
{{- include "frigate.logger" .Values.frigate.logger | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.birdseye.render_config }}
|
||||
birdseye:
|
||||
{{- include "frigate.birdseye" .Values.frigate.birdseye | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.ffmpeg.render_config }}
|
||||
ffmpeg:
|
||||
{{- include "frigate.ffmpeg" .Values.frigate.ffmpeg | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.detect.render_config }}
|
||||
detect:
|
||||
{{- include "frigate.detect" .Values.frigate.detect | indent 6 }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if .Values.frigate.objects.render_config }}
|
||||
objects:
|
||||
{{- include "frigate.objects" .Values.frigate.objects | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.motion.render_config }}
|
||||
motion:
|
||||
{{- include "frigate.motion" .Values.frigate.motion | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.record.render_config }}
|
||||
record:
|
||||
{{- include "frigate.record" .Values.frigate.record | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.snapshots.render_config }}
|
||||
snapshots:
|
||||
{{- include "frigate.snapshots" .Values.frigate.snapshots | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.rtmp.render_config }}
|
||||
rtmp:
|
||||
{{- include "frigate.rtmp" .Values.frigate.rtmp | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.live.render_config }}
|
||||
live:
|
||||
{{- include "frigate.live" .Values.frigate.live | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.frigate.timestamp_style.render_config }}
|
||||
timestamp_style:
|
||||
{{- include "frigate.timestamp_style" .Values.frigate.timestamp_style | indent 6 }}
|
||||
{{- end }}
|
||||
|
||||
{{- $cameras := .Values.frigate.cameras }}
|
||||
cameras:
|
||||
{{- range $cam := $cameras }}
|
||||
{{ $cam.camera_name | required "You need to provide a camera name" }}:
|
||||
ffmpeg:
|
||||
inputs:
|
||||
{{- range $input := $cam.ffmpeg.inputs }}
|
||||
- path: {{ $input.path | required "You need to provide a path" }}
|
||||
roles:
|
||||
{{- range $role := $input.roles }}
|
||||
- {{ $role }}
|
||||
{{- else -}}
|
||||
{{- fail "You need to provide roles" -}}
|
||||
{{- end -}}
|
||||
{{- include "frigate.ffmpeg" $input | indent 14 }}
|
||||
{{- end -}} {{/* End range $cam.ffmpeg.inputs */}}
|
||||
{{- include "frigate.ffmpeg" $cam.ffmpeg | indent 10 }}
|
||||
{{- with $cam.best_image_timeout }}
|
||||
best_image_timeout: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $cam.zones }}
|
||||
zones:
|
||||
{{- range $zone := . }}
|
||||
{{ $zone.name | required "You have to specify a zone name" }}:
|
||||
coordinates: {{ required "You have to specify coordinates" .coordinates }}
|
||||
{{- with $zone.objects }}
|
||||
objects:
|
||||
{{- range $obj := . }}
|
||||
- {{ $obj }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with $zone.filters }}
|
||||
filters:
|
||||
{{- range $filter := . }}
|
||||
{{ $filter.object | required "You have to specify an object" }}:
|
||||
{{- with $filter.min_area }}
|
||||
min_area: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.max_area }}
|
||||
max_area: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.threshold }}
|
||||
threshold: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}} {{/* end range filters */}}
|
||||
{{- end -}} {{/* end with filter */}}
|
||||
{{- end -}} {{/* end range zones */}}
|
||||
{{- end -}} {{/* end with zones */}}
|
||||
{{- if $cam.mqtt.render_config -}}
|
||||
{{- with $cam.mqtt }}
|
||||
mqtt:
|
||||
enabled: {{ ternary "True" "False" .enabled }}
|
||||
timestamp: {{ ternary "True" "False" .timestamp }}
|
||||
bounding_box: {{ ternary "True" "False" .bounding_box }}
|
||||
crop: {{ ternary "True" "False" .crop }}
|
||||
{{- with .height }}
|
||||
height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with .quality }}
|
||||
quality: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with .required_zones }}
|
||||
required_zones:
|
||||
{{- range $zone := . }}
|
||||
- {{ $zone }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}} {{/* end with mqtt */}}
|
||||
{{- end -}} {{/* end if mqtt.render_config */}}
|
||||
{{- if $cam.ui.render_config -}}
|
||||
{{- with $cam.ui }}
|
||||
ui:
|
||||
{{- if not (kindIs "invalid" .order) }}
|
||||
order: {{ .order }}
|
||||
{{- end }}
|
||||
dashboard: {{ ternary "True" "False" .dashboard }}
|
||||
{{- end -}} {{/* end with ui */}}
|
||||
{{- end -}} {{/* end if ui.render_config */}}
|
||||
{{- end -}} {{/* end range cameras */}}
|
||||
{{- end }}
|
||||
|
||||
{{- define "frigate.ffmpeg" -}}
|
||||
{{- $ffmpeg := . -}}
|
||||
|
||||
{{- with $ffmpeg.global_args }}
|
||||
global_args: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $ffmpeg.input_args }}
|
||||
input_args: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $ffmpeg.hwaccel_args }}
|
||||
hwaccel_args: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if $ffmpeg.output_args -}}
|
||||
{{- if or $ffmpeg.output_args.detect $ffmpeg.output_args.record $ffmpeg.output_args.rtmp }}
|
||||
output_args:
|
||||
{{- with $ffmpeg.output_args.detect }}
|
||||
detect: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $ffmpeg.output_args.record }}
|
||||
record: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $ffmpeg.output_args.rtmp }}
|
||||
rtmp: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.detect" -}}
|
||||
{{- $detect := . }}
|
||||
enabled: {{ ternary "True" "False" $detect.enabled }}
|
||||
{{- with $detect.width }}
|
||||
width: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $detect.height }}
|
||||
height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $detect.fps }}
|
||||
fps: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $detect.max_disappeared }}
|
||||
max_disappeared: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if or (not (kindIs "invalid" $detect.stationary.interval)) $detect.stationary.threshold $detect.stationary.set_max_frames }}
|
||||
stationary:
|
||||
{{- if not (kindIs "invalid" $detect.stationary.interval) }} {{/* invalid kind means its empty (0 is not empty) */}}
|
||||
interval: {{ $detect.stationary.interval }}
|
||||
{{- end -}}
|
||||
{{- with $detect.stationary.threshold }}
|
||||
threshold: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if (hasKey $detect.stationary "max_frames") }}
|
||||
{{- if or $detect.stationary.max_frames.default $detect.stationary.max_frames.objects }}
|
||||
max_frames:
|
||||
{{- with $detect.stationary.max_frames.default }}
|
||||
default: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $detect.stationary.max_frames.objects }}
|
||||
objects:
|
||||
{{- range $obj := . }}
|
||||
{{ $obj.object | required "You need to provide an object" }}: {{ $obj.frames | required "You need to provide frames" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.motion" -}}
|
||||
{{- $motion := . -}}
|
||||
|
||||
{{- with $motion.threshold }}
|
||||
threshold: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $motion.contour_area }}
|
||||
contour_area: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $motion.delta_alpha }}
|
||||
delta_alpha: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $motion.frame_alpha }}
|
||||
frame_alpha: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $motion.frame_height }}
|
||||
frame_height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $motion.mask }}
|
||||
mask: {{ . }}
|
||||
{{- end }}
|
||||
improve_contrast: {{ ternary "True" "False" $motion.improve_contrast }}
|
||||
{{- with $motion.mqtt_off_delay }}
|
||||
mqtt_off_delay: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.record" -}}
|
||||
{{- $record := . }}
|
||||
enabled: {{ ternary "True" "False" $record.enabled }}
|
||||
{{- with $record.expire_interval }}
|
||||
expire_interval: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if $record.retain.render_config }}
|
||||
retain:
|
||||
{{- if not (kindIs "invalid" $record.retain.days) }}
|
||||
days: {{ $record.retain.days }}
|
||||
{{- end -}}
|
||||
{{- with $record.retain.mode }}
|
||||
mode: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if $record.events.render_config }}
|
||||
events:
|
||||
{{- if not (kindIs "invalid" $record.events.pre_capture) }}
|
||||
pre_capture: {{ $record.events.pre_capture }}
|
||||
{{- end -}}
|
||||
{{- if not (kindIs "invalid" $record.events.post_capture) }}
|
||||
post_capture: {{ $record.events.post_capture }}
|
||||
{{- end -}}
|
||||
{{- with $record.events.objects }}
|
||||
objects:
|
||||
{{- range $obj := . }}
|
||||
- {{ $obj }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with $record.events.required_zones }}
|
||||
required_zones:
|
||||
{{- range $zone := . }}
|
||||
- {{ $zone }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if $record.events.retain.render_config }}
|
||||
retain:
|
||||
default: {{ $record.events.retain.default | required "You need to provide default retain days" }}
|
||||
{{- with $record.events.retain.mode }}
|
||||
mode: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $record.events.retain.objects }}
|
||||
objects:
|
||||
{{- range $obj := . }}
|
||||
{{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.objects" -}}
|
||||
{{- $objects := . -}}
|
||||
|
||||
{{- with $objects.track }}
|
||||
track:
|
||||
{{- range $track := . }}
|
||||
- {{ $track }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with $objects.mask }}
|
||||
mask: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $objects.filters }}
|
||||
filters:
|
||||
{{- range $filter := . }}
|
||||
{{ $filter.object | required "You need to provide an object" }}:
|
||||
{{- with $filter.min_area }}
|
||||
min_area: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.max_area }}
|
||||
max_area: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.min_ratio }}
|
||||
min_ratio: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.max_ratio }}
|
||||
max_ratio: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.min_score }}
|
||||
min_score: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.threshold }}
|
||||
threshold: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $filter.mask }}
|
||||
mask: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.birdseye" -}}
|
||||
{{- $birdseye := . }}
|
||||
enabled: {{ ternary "True" "False" $birdseye.enabled }}
|
||||
{{- with $birdseye.width }}
|
||||
width: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $birdseye.height }}
|
||||
height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $birdseye.quality }}
|
||||
quality: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $birdseye.mode }}
|
||||
mode: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.timestamp_style" -}}
|
||||
{{- $timestamp_style := . -}}
|
||||
|
||||
{{- with $timestamp_style.position }}
|
||||
position: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $timestamp_style.format }}
|
||||
format: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if $timestamp_style.color.render_config }}
|
||||
color:
|
||||
red: {{ $timestamp_style.color.red }}
|
||||
green: {{ $timestamp_style.color.green }}
|
||||
blue: {{ $timestamp_style.color.blue }}
|
||||
{{- end -}}
|
||||
{{- with $timestamp_style.thickness }}
|
||||
thickness: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $timestamp_style.effect }}
|
||||
effect: {{ $timestamp_style.effect }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.live" -}}
|
||||
{{- $live := . -}}
|
||||
{{- with $live.height }}
|
||||
height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $live.quality }}
|
||||
quality: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.rtmp" -}}
|
||||
{{- $rtmp := . }}
|
||||
enabled: {{ ternary "True" "False" $rtmp.enabled }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.snapshots" -}}
|
||||
{{- $snapshots := . }}
|
||||
enabled: {{ ternary "True" "False" $snapshots.enabled }}
|
||||
clean_copy: {{ ternary "True" "False" $snapshots.clean_copy }}
|
||||
timestamp: {{ ternary "True" "False" $snapshots.timestamp }}
|
||||
bounding_box: {{ ternary "True" "False" $snapshots.bounding_box }}
|
||||
crop: {{ ternary "True" "False" $snapshots.crop }}
|
||||
{{- with $snapshots.height }}
|
||||
height: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $snapshots.required_zones }}
|
||||
required_zones:
|
||||
{{- range $zone := . }}
|
||||
- {{ $zone }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- if $snapshots.retain.render_config }}
|
||||
retain:
|
||||
default: {{ $snapshots.retain.default | required "You need to provide default retain days" }}
|
||||
{{- with $snapshots.retain.objects }}
|
||||
objects:
|
||||
{{- range $obj := . }}
|
||||
{{ $obj.object | required "You need to provide an object" }}: {{ $obj.days | required "You need to provide default retain days" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.detectors" -}}
|
||||
{{- $detectors := . -}}
|
||||
|
||||
{{- range $detector := $detectors.config }}
|
||||
{{ $detector.name | required "You need to provide a detector name" }}:
|
||||
type: {{ $detector.type | required "You need to provide a detector type" }}
|
||||
{{- with $detector.device }}
|
||||
device: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $detector.num_threads }}
|
||||
num_threads: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.model" -}}
|
||||
{{ $model := . }}
|
||||
width: {{ $model.width | required "You need to provide a model width" }}
|
||||
height: {{ $model.height | required "You need to provide a model height" }}
|
||||
{{- with $model.path }}
|
||||
path: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $model.labelmap_path }}
|
||||
labelmap_path: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $model.labelmap }}
|
||||
labelmap:
|
||||
{{- range $lmap := . }}
|
||||
{{ $lmap.model | required "You need to provide a labelmap model" }}: {{ $lmap.name | required "You need to provide a labelmap name" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.logger" -}}
|
||||
{{- $logger := . }}
|
||||
default: {{ $logger.default }}
|
||||
{{- with $logger.logs }}
|
||||
logs:
|
||||
{{- range $log := . }}
|
||||
{{ $log.component | required "You need to provide a logger cmponent" }}: {{ $log.verbosity | required "You need to provide logger verbosity" }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.mqtt" -}}
|
||||
{{- $mqtt := . }}
|
||||
{{- if $mqtt.render_config }}
|
||||
enabled: {{ ternary "True" "False" $mqtt.enabled }}
|
||||
host: {{ required "You need to provide an MQTT host" $mqtt.host }}
|
||||
{{- with $mqtt.port }}
|
||||
port: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $mqtt.topic_prefix }}
|
||||
topic_prefix: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $mqtt.client_id }}
|
||||
client_id: {{ . }}
|
||||
{{- end -}}
|
||||
{{- if not (kindIs "invalid" $mqtt.stats_interval) }}
|
||||
stats_interval: {{ $mqtt.stats_interval }}
|
||||
{{- end -}}
|
||||
{{- with $mqtt.user }}
|
||||
user: {{ . }}
|
||||
{{- end -}}
|
||||
{{- with $mqtt.password }}
|
||||
password: {{ . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
|
@ -1,11 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render configmap for frigate */}}
|
||||
{{- $config := include "frigate.configmap" . | fromYaml -}}
|
||||
{{- if $config -}}
|
||||
{{- $_ := set .Values.configmap "frigate-config" $config -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -1,99 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-9.0.4](https://github.com/truecharts/charts/compare/frigate-9.0.3...frigate-9.0.4) (2023-06-24)
|
||||
|
||||
### Feat
|
||||
|
||||
- Update to 0.12.1 ([#9861](https://github.com/truecharts/charts/issues/9861))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-9.0.3](https://github.com/truecharts/charts/compare/frigate-9.0.2...frigate-9.0.3) (2023-06-16)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-9.0.2](https://github.com/truecharts/charts/compare/frigate-9.0.1...frigate-9.0.2) (2023-06-13)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm chart common to 12.14.2 ([#9599](https://github.com/truecharts/charts/issues/9599))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-9.0.1](https://github.com/truecharts/charts/compare/frigate-9.0.0...frigate-9.0.1) (2023-06-11)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9558](https://github.com/truecharts/charts/issues/9558))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-9.0.0](https://github.com/truecharts/charts/compare/frigate-8.0.4...frigate-9.0.0) (2023-06-10)
|
||||
|
||||
### Chore
|
||||
|
||||
- BREAKING CHANGE - Allow native helm users to use 1:1 configuration, and scale users to define a hostpath config file ([#9575](https://github.com/truecharts/charts/issues/9575))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.4](https://github.com/truecharts/charts/compare/frigate-8.0.3...frigate-8.0.4) (2023-06-07)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9457](https://github.com/truecharts/charts/issues/9457))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.3](https://github.com/truecharts/charts/compare/frigate-8.0.2...frigate-8.0.3) (2023-06-07)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9423](https://github.com/truecharts/charts/issues/9423))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.2](https://github.com/truecharts/charts/compare/frigate-8.0.1...frigate-8.0.2) (2023-06-06)
|
||||
|
||||
### Fix
|
||||
|
||||
- Fix questions default value ([#9414](https://github.com/truecharts/charts/issues/9414))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.1](https://github.com/truecharts/charts/compare/frigate-8.0.0...frigate-8.0.1) (2023-06-04)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-8.0.0](https://github.com/truecharts/charts/compare/frigate-7.0.1...frigate-8.0.0) (2023-06-04)
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-7.0.1](https://github.com/truecharts/charts/compare/frigate-7.0.0...frigate-7.0.1) (2023-06-04)
|
||||
|
||||
### Chore
|
||||
|
||||
- update helm general non-major ([#9393](https://github.com/truecharts/charts/issues/9393))
|
||||
|
||||
|
||||
|
||||
|
||||
## [frigate-7.0.0](https://github.com/truecharts/charts/compare/frigate-6.0.2...frigate-7.0.0) (2023-06-01)
|
||||
|
||||
### Feat
|
||||
|
||||
- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203))
|
||||
- port to new common ([#9141](https://github.com/truecharts/charts/issues/9141))
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "0.12.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.2
|
||||
deprecated: false
|
||||
description: NVR With Realtime Object Detection for IP Cameras
|
||||
home: https://truecharts.org/charts/incubator/frigate
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png
|
||||
keywords:
|
||||
- encode
|
||||
- nvr
|
||||
- media
|
||||
- frigate
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: frigate
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/frigate
|
||||
- https://github.com/blakeblackshear/frigate
|
||||
type: application
|
||||
version: 9.0.4
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- nvr
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
## [frigate-9.0.4](https://github.com/truecharts/charts/compare/frigate-9.0.3...frigate-9.0.4) (2023-06-24)
|
||||
|
||||
### Feat
|
||||
|
||||
- Update to 0.12.1 ([#9861](https://github.com/truecharts/charts/issues/9861))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
NVR With Realtime Object Detection for IP Cameras
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/frigate](https://truecharts.org/charts/incubator/frigate)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
|
@ -1,97 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/frigate
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.12.1@sha256:71c83d1c5454bfee190b450ab89b2889352688b8cf3f832782a47ed82e2c604d
|
||||
|
||||
# When this is defined, the contents will be mounted
|
||||
# as configmap into the container at /config/config.yml.
|
||||
frigateConfig:
|
||||
{}
|
||||
# -- https://docs.frigate.video/configuration/
|
||||
# mqtt:
|
||||
# enabled: False
|
||||
# cameras:
|
||||
# dummy:
|
||||
# enabled: False
|
||||
# ffmpeg:
|
||||
# inputs:
|
||||
# - path: rtsp://127.0.0.1:554/rtsp
|
||||
# roles:
|
||||
# - detect
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
initContainers:
|
||||
init-config:
|
||||
enabled: "{{ not .Values.frigateConfig }}"
|
||||
type: init
|
||||
imageSelector: alpineImage
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- |
|
||||
mkdir -p /config
|
||||
if [ ! -f /config/config.yml ]; then
|
||||
echo "Config file not found, copying dummy..."
|
||||
cp /dummy-config/config.yml.dummy /config/config.yml
|
||||
echo "Config file copied, you can now edit it at /config/config.yml"
|
||||
fi
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 10500
|
||||
protocol: http
|
||||
targetPort: 5000
|
||||
rtmp:
|
||||
enabled: true
|
||||
ports:
|
||||
rtmp:
|
||||
enabled: true
|
||||
port: 1935
|
||||
targetPort: 1935
|
||||
rtsp:
|
||||
enabled: true
|
||||
ports:
|
||||
rtsp:
|
||||
enabled: true
|
||||
port: 8554
|
||||
targetPort: 8554
|
||||
webrtc:
|
||||
enabled: true
|
||||
ports:
|
||||
webrtc-tcp:
|
||||
enabled: true
|
||||
port: 8555
|
||||
targetPort: 8555
|
||||
webrtc-udp:
|
||||
enabled: true
|
||||
port: 8555
|
||||
protocol: udp
|
||||
targetPort: 8555
|
||||
|
||||
persistence:
|
||||
media:
|
||||
enabled: true
|
||||
mountPath: /media
|
||||
config:
|
||||
# Only enable when not using frigateConfig
|
||||
enabled: false
|
||||
mountPath: /config
|
||||
targetSelector:
|
||||
main:
|
||||
main: {}
|
||||
init-config: {}
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -1,42 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "frigate.configmap" -}}
|
||||
enabled: true
|
||||
data:
|
||||
{{- if .Values.frigateConfig }}
|
||||
config.yml: |
|
||||
{{- .Values.frigateConfig | toYaml | nindent 4 }}
|
||||
{{- else }}
|
||||
config.yml.dummy: |
|
||||
mqtt:
|
||||
enabled: false
|
||||
cameras:
|
||||
dummy:
|
||||
enabled: false
|
||||
ffmpeg:
|
||||
inputs:
|
||||
- path: rtsp://127.0.0.1:554/rtsp
|
||||
roles:
|
||||
- detect
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "frigate.configVolume" -}}
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: frigate-config
|
||||
targetSelector:
|
||||
main:
|
||||
main: {}
|
||||
init-config: {}
|
||||
{{- if .Values.frigateConfig }}
|
||||
mountPath: /config
|
||||
items:
|
||||
- key: config.yml
|
||||
path: config.yml
|
||||
{{- else }}
|
||||
mountPath: /dummy-config
|
||||
items:
|
||||
- key: config.yml.dummy
|
||||
path: config.yml.dummy
|
||||
{{- end -}}
|
||||
{{- end -}}
|
|
@ -1,20 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render configmap for frigate */}}
|
||||
{{- $config := include "frigate.configmap" . | fromYaml -}}
|
||||
{{- if $config -}}
|
||||
{{- $_ := set .Values.configmap "frigate-config" $config -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- if not .Values.frigateConfig -}}
|
||||
{{- $_ := set .Values.persistence.config "enabled" true -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $vol := include "frigate.configVolume" . | fromYaml -}}
|
||||
{{- if $vol -}}
|
||||
{{- $_ := set .Values.persistence "frigate-config" $vol -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -1,5 +0,0 @@
|
|||
icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/frigate.png
|
||||
categories:
|
||||
- nvr
|
||||
|
||||
screenshots: []
|
|
@ -1,88 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-4.0.0](https://github.com/truecharts/charts/compare/invidious-3.0.0...invidious-4.0.0) (2023-06-01)
|
||||
|
||||
### Feat
|
||||
|
||||
- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203))
|
||||
- Invidious port ([#9283](https://github.com/truecharts/charts/issues/9283))
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [invidious-3.0.0](https://github.com/truecharts/charts/compare/invidious-2.0.12...invidious-3.0.0) (2023-05-24)
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "latest"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.10.4
|
||||
description: Open source alternative front-end to YouTube.
|
||||
home: https://truecharts.org/charts/incubator/invidious
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/invidious.png
|
||||
keywords:
|
||||
- invidious
|
||||
- youtube
|
||||
- media
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: invidious
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/invidious
|
||||
- https://github.com/iv-org/invidious
|
||||
- https://docs.invidious.io/installation/#docker
|
||||
version: 4.0.0
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- media
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
|
@ -1,106 +0,0 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Blocky" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,10 +0,0 @@
|
|||
|
||||
|
||||
## [invidious-4.0.0](https://github.com/truecharts/charts/compare/invidious-3.0.0...invidious-4.0.0) (2023-06-01)
|
||||
|
||||
### Feat
|
||||
|
||||
- hide advanced ingress options behind checbox ([#9203](https://github.com/truecharts/charts/issues/9203))
|
||||
- Invidious port ([#9283](https://github.com/truecharts/charts/issues/9283))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
Open source alternative front-end to YouTube.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/invidious](https://truecharts.org/charts/incubator/invidious)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
|
@ -1,177 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/invidious
|
||||
pullPolicy: IfNotPresent
|
||||
tag: latest@sha256:3bb9e44e7d69baf91728c0a88115ef5fdb3adc91432b851e11e4d0e78bbe6e7a
|
||||
|
||||
securityContext:
|
||||
container:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
runAsGroup: 0
|
||||
runAsUser: 0
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 10594
|
||||
protocol: http
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
initContainers:
|
||||
dbseed:
|
||||
type: install
|
||||
enabled: true
|
||||
imageSelector: postgresClientImage
|
||||
env:
|
||||
POSTGRES_DB:
|
||||
secretKeyRef:
|
||||
name: cnpg-main-urls
|
||||
key: std
|
||||
POSTGRES_USER: "{{ .Values.cnpg.main.user }}"
|
||||
# PG* variables are for the psql client
|
||||
PGPORT: "5432"
|
||||
PGPASSWORD:
|
||||
secretKeyRef:
|
||||
name: cnpg-main-user
|
||||
key: password
|
||||
command: ["sh", "-c"]
|
||||
args:
|
||||
- |
|
||||
echo "Starting DB Seed..."
|
||||
mkdir -p invidious && cd invidious
|
||||
|
||||
echo "Fetching seed files..."
|
||||
git init && \
|
||||
git remote add invidious https://github.com/iv-org/invidious.git && \
|
||||
git fetch invidious && \
|
||||
# Fetch config and docker dirs
|
||||
git checkout invidious/master -- docker config
|
||||
|
||||
# Move config into docker dir
|
||||
echo "Preparing directory structure..."
|
||||
mv -fv config docker
|
||||
|
||||
echo "Performing the seed..."
|
||||
cd docker
|
||||
./init-invidious-db.sh
|
||||
containers:
|
||||
main:
|
||||
probes:
|
||||
liveness:
|
||||
type: http
|
||||
readiness:
|
||||
type: http
|
||||
startup:
|
||||
type: http
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: invidious-config
|
||||
|
||||
invidious:
|
||||
network:
|
||||
inbound:
|
||||
external_port: 10594
|
||||
https_only: false
|
||||
domain: ""
|
||||
hsts: true
|
||||
outbound:
|
||||
disable_proxy: false
|
||||
pool_size: 100
|
||||
use_quic: false
|
||||
cookies: []
|
||||
force_resolve: "ipv4"
|
||||
|
||||
logging:
|
||||
output: STDOUT
|
||||
log_level: "Info"
|
||||
|
||||
features:
|
||||
popular_enabled: true
|
||||
statistics_enabled: false
|
||||
|
||||
users_accounts:
|
||||
registration_enabled: true
|
||||
login_enabled: true
|
||||
captcha_enabled: true
|
||||
admins: []
|
||||
|
||||
background_jobs:
|
||||
channel_threads: 1
|
||||
channel_refresh_interval: 30m
|
||||
full_refresh: false
|
||||
feed_threads: 1
|
||||
decrypt_polling: false
|
||||
|
||||
jobs:
|
||||
clear_expired_items:
|
||||
enable: true
|
||||
refresh_channels:
|
||||
enable: true
|
||||
refresh_feeds:
|
||||
enable: true
|
||||
|
||||
captcha:
|
||||
captcha_api_url: "https://api.anti-captcha.com"
|
||||
captcha_key: ""
|
||||
|
||||
miscellaneous:
|
||||
banner: ""
|
||||
use_pubsub_feeds: false
|
||||
hmac_key: ""
|
||||
dmca_content: []
|
||||
cache_annotations: false
|
||||
playlist_length_limit: 500
|
||||
|
||||
default_user_preferences:
|
||||
internationalization:
|
||||
locale: en-US
|
||||
region: US
|
||||
captions: []
|
||||
interface:
|
||||
dark_mode: dark
|
||||
thin_mode: false
|
||||
feed_menu: []
|
||||
default_home: Popular
|
||||
max_results: 40
|
||||
annotations: false
|
||||
annotations_subscribed: false
|
||||
comments: []
|
||||
player_style: invidious
|
||||
related_videos: true
|
||||
video_player_behavior:
|
||||
autoplay: false
|
||||
continue: false
|
||||
continue_autoplay: true
|
||||
listen: false
|
||||
video_loop: false
|
||||
video_playback_settings:
|
||||
quality: hd720
|
||||
quality_dash: auto
|
||||
speed: 1.00
|
||||
volume: 100
|
||||
vr_mode: true
|
||||
subscription_feed:
|
||||
latest_only: false
|
||||
notifications_only: false
|
||||
unseen_only: false
|
||||
sort: published
|
||||
miscellaneous:
|
||||
local: false
|
||||
show_nick: true
|
||||
automatic_instance_redirect: false
|
||||
extend_desc: false
|
||||
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
database: invidious
|
||||
# DB User cannot be changed
|
||||
# hardcoded from upstream
|
||||
username: kemal
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1,175 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "invidious.config" -}}
|
||||
|
||||
{{- $vNet := .Values.invidious.network }}
|
||||
{{- $vLog := .Values.invidious.logging }}
|
||||
{{- $vFeat := .Values.invidious.features }}
|
||||
{{- $vUserAcc := .Values.invidious.users_accounts }}
|
||||
{{- $vBgJobs := .Values.invidious.background_jobs }}
|
||||
{{- $vJobs := .Values.invidious.jobs }}
|
||||
{{- $vCaptca := .Values.invidious.captcha }}
|
||||
{{- $vMisc := .Values.invidious.miscellaneous }}
|
||||
{{- $vLoc := .Values.invidious.default_user_preferences.internationalization }}
|
||||
{{- $vUI := .Values.invidious.default_user_preferences.interface }}
|
||||
{{- $vVidBeh := .Values.invidious.default_user_preferences.video_player_behavior }}
|
||||
{{- $vVidPlay := .Values.invidious.default_user_preferences.video_playback_settings }}
|
||||
{{- $vSubFeed := .Values.invidious.default_user_preferences.subscription_feed }}
|
||||
{{- $vUserMisc := .Values.invidious.default_user_preferences.miscellaneous }}
|
||||
enabled: true
|
||||
data:
|
||||
INVIDIOUS_CONFIG: |
|
||||
# Database
|
||||
check_tables: true
|
||||
db:
|
||||
user: {{ .Values.cnpg.main.user }}
|
||||
dbname: {{ .Values.cnpg.main.database }}
|
||||
password: {{ .Values.cnpg.main.creds.password }}
|
||||
host: {{ .Values.cnpg.main.creds.host }}
|
||||
port: 5432
|
||||
|
||||
# Network
|
||||
host_binding: 0.0.0.0
|
||||
port: {{ .Values.service.main.ports.main.port }}
|
||||
external_port: {{ $vNet.inbound.external_port }}
|
||||
https_only: {{ $vNet.inbound.https_only }}
|
||||
domain: {{ $vNet.inbound.domain }}
|
||||
hsts: {{ $vNet.inbound.hsts }}
|
||||
disable_proxy: {{ $vNet.outbound.disable_proxy }}
|
||||
pool_size: {{ $vNet.outbound.pool_size }}
|
||||
use_quic: {{ $vNet.outbound.use_quic }}
|
||||
cookies: {{ join "; " $vNet.outbound.cookies }}
|
||||
force_resolve: {{ $vNet.outbound.force_resolve }}
|
||||
|
||||
# Logging
|
||||
output: {{ $vLog.output }}
|
||||
log_level: {{ $vLog.log_level }}
|
||||
|
||||
# Features
|
||||
popular_enabled: {{ $vFeat.popular_enabled }}
|
||||
statistics_enabled: {{ $vFeat.statistics_enabled }}
|
||||
|
||||
# Users and Accounts
|
||||
registration_enabled: {{ $vUserAcc.registration_enabled }}
|
||||
login_enabled: {{ $vUserAcc.login_enabled }}
|
||||
captcha_enabled: {{ $vUserAcc.captcha_enabled }}
|
||||
{{- if $vUserAcc.admins }}
|
||||
admins:
|
||||
{{- range $vUserAcc.admins }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
admins: [""]
|
||||
{{- end }}
|
||||
|
||||
# Background Jobs
|
||||
channel_threads: {{ $vBgJobs.channel_threads }}
|
||||
channel_refresh_interval: {{ $vBgJobs.channel_refresh_interval }}
|
||||
full_refresh: {{ $vBgJobs.full_refresh }}
|
||||
feed_threads: {{ $vBgJobs.feed_threads }}
|
||||
decrypt_polling: {{ $vBgJobs.decrypt_polling }}
|
||||
|
||||
# Jobs
|
||||
jobs:
|
||||
clear_expired_items:
|
||||
enable: {{ $vJobs.clear_expired_items.enable }}
|
||||
refresh_channels:
|
||||
enable: {{ $vJobs.refresh_channels.enable }}
|
||||
refresh_feeds:
|
||||
enable: {{ $vJobs.refresh_feeds.enable }}
|
||||
|
||||
# Captcha
|
||||
captcha_api_url: {{ $vCaptca.captca_api_url }}
|
||||
captcha_key: {{ $vCaptca.captca_key }}
|
||||
|
||||
# Miscellaneaous
|
||||
banner: {{ $vMisc.banner }}
|
||||
use_pubsub_feeds: {{ $vMisc.use_pubsub_feeds }}
|
||||
hmac_key: {{ $vMisc.hmac_key }}
|
||||
{{- if $vMisc.dmca_content }}
|
||||
dmca_content:
|
||||
{{- range $vMisc.dmca_content }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
dmca_content: [""]
|
||||
{{- end }}
|
||||
cache_annotations: {{ $vMisc.cache_annotations }}
|
||||
playlist_length_limit: {{ $vMisc.playlist_length_limit }}
|
||||
modified_source_code_url: ""
|
||||
|
||||
# Default User Preferences
|
||||
default_user_preferences:
|
||||
|
||||
# Internationalization
|
||||
locale: {{ $vLoc.locale }}
|
||||
region: {{ $vLoc.region }}
|
||||
{{- with $vLoc.captions -}}
|
||||
{{- if ne (len .) 3 -}}
|
||||
{{- fail "Exactly 3 entries are required for Captions" -}}
|
||||
{{- end }}
|
||||
captions:
|
||||
{{- range $c := . }}
|
||||
- {{ $c }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
captions: ["","",""]
|
||||
{{- end }}
|
||||
|
||||
# Interface
|
||||
dark_mode: {{ $vUI.dark_mode }}
|
||||
thin_mode: {{ $vUI.thin_mode }}
|
||||
{{- with $vUI.feed_menu }}
|
||||
{{- if gt (len . ) 4 -}}
|
||||
{{- fail "Max 4 Feed menu items are accepted" -}}
|
||||
{{- end }}
|
||||
feed_menu:
|
||||
{{- range $f := . }}
|
||||
- {{ $f }}
|
||||
{{- end -}}
|
||||
{{- else }}
|
||||
feed_menu: ["Popular", "Trending", "Subscriptions", "Playlists"]
|
||||
{{- end }}
|
||||
default_home: {{ $vUI.default_home }}
|
||||
max_results: {{ $vUI.max_results }}
|
||||
annotations: {{ $vUI.annotations }}
|
||||
annotations_subscribed: {{ $vUI.annotations_subscribed }}
|
||||
{{- with $vUI.comments }}
|
||||
{{- if ne (len .) 2 -}}
|
||||
{{- fail "Exactly 2 entries are required for comments" -}}
|
||||
{{- end }}
|
||||
comments:
|
||||
{{- range $c := . }}
|
||||
- {{ $c }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
comments: ["youtube", ""]
|
||||
{{- end }}
|
||||
player_style: {{ $vUI.player_style }}
|
||||
related_videos: {{ $vUI.related_videos }}
|
||||
|
||||
# Video Player Behaviour
|
||||
autoplay: {{ $vVidBeh.autoplay }}
|
||||
continue: {{ $vVidBeh.continue }}
|
||||
continue_autoplay: {{ $vVidBeh.continue_autoplay }}
|
||||
listen: {{ $vVidBeh.listen }}
|
||||
video_loop: {{ $vVidBeh.video_loop }}
|
||||
|
||||
# Video Playback Settigns
|
||||
quality: {{ $vVidPlay.quality }}
|
||||
quality_dash: {{ $vVidPlay.quality_dash }}
|
||||
speed: {{ printf "%.2f" ($vVidPlay.speed | float64) }}
|
||||
volume: {{ $vVidPlay.volume }}
|
||||
vr_mode: {{ $vVidPlay.vr_mode }}
|
||||
|
||||
# Subscription Feed
|
||||
latest_only: {{ $vSubFeed.latest_only }}
|
||||
notifications_only: {{ $vSubFeed.notifications_only }}
|
||||
unseen_only: {{ $vSubFeed.unseen_only }}
|
||||
sort: {{ $vSubFeed.sort }}
|
||||
|
||||
# Miscellaneous
|
||||
local: {{ $vUserMisc.local }}
|
||||
show_nick: {{ $vUserMisc.show_nick }}
|
||||
automatic_instance_redirect: {{ $vUserMisc.automatic_instance_redirect }}
|
||||
extend_desc: {{ $vUserMisc.extend_desc }}
|
||||
{{- end -}}
|
|
@ -1,11 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render configmap for invidious */}}
|
||||
{{- $configmapFile := include "invidious.config" . | fromYaml -}}
|
||||
{{- if $configmapFile -}}
|
||||
{{- $_ := set .Values.configmap "invidious-config" $configmapFile -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -1,4 +0,0 @@
|
|||
icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/invidious.png
|
||||
categories:
|
||||
- media
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [mc-router-0.0.1]mc-router-0.0.1 (2023-06-27)
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "1.18.1"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.6
|
||||
deprecated: false
|
||||
description: Routes Minecraft client connections to backend servers.
|
||||
home: https://truecharts.org/charts/incubator/mc-router
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/mc-router.png
|
||||
keywords:
|
||||
- mc-router
|
||||
- minecraft
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: mc-router
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/mc-router
|
||||
- https://github.com/itzg/mc-router
|
||||
type: application
|
||||
version: 0.0.1
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- minecraft
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -1 +0,0 @@
|
|||
# README
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
|
||||
## [mc-router-0.0.1]mc-router-0.0.1 (2023-06-27)
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
Routes Minecraft client connections to backend servers.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/mc-router](https://truecharts.org/charts/incubator/mc-router)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
|
@ -1,43 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/mc-router
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.18.1@sha256:24c0c3e65c62a54eabf1a461ad8d0789d444f9b93c130d5720c249b703dafc23
|
||||
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 25564
|
||||
minecraft:
|
||||
enabled: true
|
||||
ports:
|
||||
minecraft:
|
||||
enabled: true
|
||||
port: 25565
|
||||
|
||||
mcrouter:
|
||||
host_minecraft:
|
||||
- "minecraft.local=localhost:25566"
|
||||
|
||||
workload:
|
||||
main:
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
envFrom:
|
||||
- secretRef:
|
||||
name: "secrets"
|
||||
env:
|
||||
API_BINDING: ":{{ .Values.service.main.ports.main.port }}"
|
||||
PORT: "{{ .Values.service.minecraft.ports.minecraft.port }}"
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: false
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -1,8 +0,0 @@
|
|||
{{/* Define the secrets */}}
|
||||
{{- define "mcrouter.secrets" -}}
|
||||
{{- $mcrouter := .Values.mcrouter }}
|
||||
|
||||
enabled: true
|
||||
data:
|
||||
MAPPING: {{ join "," $mcrouter.host_minecraft }}
|
||||
{{- end -}}
|
|
@ -1,11 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . }}
|
||||
|
||||
{{/* Render secrets for mcrouter */}}
|
||||
{{- $secrets := include "mcrouter.secrets" . | fromYaml -}}
|
||||
{{- if $secrets -}}
|
||||
{{- $_ := set .Values.secret "secrets" $secrets -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.v1.common.loader.apply" . }}
|
|
@ -1,5 +0,0 @@
|
|||
icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/mc-router.png
|
||||
categories:
|
||||
- minecraft
|
||||
|
||||
screenshots: []
|
|
@ -1,32 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "25.0.2"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.1
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.48
|
||||
deprecated: false
|
||||
description: A private cloud server that puts the control and security of your own data back into your hands.
|
||||
home: https://truecharts.org/charts/stable/nextcloud
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png
|
||||
keywords:
|
||||
- nextcloud
|
||||
- storage
|
||||
- http
|
||||
- web
|
||||
- php
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: nextcloud
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/stable/nextcloud
|
||||
- https://github.com/nextcloud/docker
|
||||
- https://github.com/nextcloud/helm
|
||||
type: application
|
||||
version: 20.0.0
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- cloud
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -1,106 +0,0 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Blocky" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
A private cloud server that puts the control and security of your own data back into your hands.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
|
@ -1,430 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/nextcloud-fpm
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129
|
||||
nginxImage:
|
||||
repository: tccr.io/truecharts/nginx-unprivileged
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef
|
||||
imaginaryImage:
|
||||
repository: tccr.io/truecharts/nextcloud-imaginary
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982
|
||||
hpbImage:
|
||||
repository: tccr.io/truecharts/nextcloud-push-notify
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339
|
||||
clamavImage:
|
||||
repository: tccr.io/truecharts/clamav
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086
|
||||
|
||||
nextcloud:
|
||||
# Initial Credentials
|
||||
credentials:
|
||||
initialAdminUser: admin
|
||||
initialAdminPassword: adminpass
|
||||
# General settings
|
||||
general:
|
||||
# Custom Nextcloud Scripts
|
||||
run_optimize: true
|
||||
default_phone_region: GR
|
||||
# IP used for exposing nextcloud,
|
||||
# often the loadbalancer IP
|
||||
accessIP: ""
|
||||
# File settings
|
||||
files:
|
||||
shared_folder_name: Shared
|
||||
max_chunk_size: 10485760
|
||||
# Expiration settings
|
||||
expirations:
|
||||
activity_expire_days: 90
|
||||
trash_retention_obligation: auto
|
||||
versions_retention_obligation: auto
|
||||
# Previews settings
|
||||
previews:
|
||||
enabled: true
|
||||
# It will also deploy the container
|
||||
imaginary: true
|
||||
cron: true
|
||||
schedule: "*/30 * * * *"
|
||||
max_x: 2048
|
||||
max_y: 2048
|
||||
max_memory: 1024
|
||||
max_file_size_image: 50
|
||||
jpeg_quality: 60
|
||||
square_sizes: 32 256
|
||||
width_sizes: 256 384
|
||||
height_sizes: 256
|
||||
# Casings are important
|
||||
# https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269
|
||||
# Only the last part of the provider is needed
|
||||
providers:
|
||||
- PNG
|
||||
- JPEG
|
||||
# Logging settings
|
||||
logging:
|
||||
log_level: 2
|
||||
log_file: /var/www/html/data/logs/nextcloud.log
|
||||
log_audit_file: /var/www/html/data/logs/audit.log
|
||||
log_date_format: d/m/Y H:i:s
|
||||
# ClamAV settings
|
||||
clamav:
|
||||
# It will also deploy the container
|
||||
# Note that this runs as root
|
||||
enabled: false
|
||||
stream_max_length: 26214400
|
||||
file_max_size: -1
|
||||
infected_action: only_log
|
||||
# Notify Push settings
|
||||
notify_push:
|
||||
# It will also deploy the container
|
||||
enabled: true
|
||||
# Collabora settings
|
||||
collabora:
|
||||
# It will not deploy the container
|
||||
# Only add the Collabora settings
|
||||
enabled: false
|
||||
url: ""
|
||||
allow_list:
|
||||
- 0.0.0.0/0
|
||||
onlyoffice:
|
||||
# It will not deploy the container
|
||||
# Only add the OnlyOffice settings
|
||||
enabled: false
|
||||
url: ""
|
||||
jwt: ""
|
||||
jwt_header: Authorization
|
||||
# PHP settings
|
||||
php:
|
||||
memory_limit: 1G
|
||||
upload_limit: 10G
|
||||
pm_max_children: 180
|
||||
pm_start_servers: 18
|
||||
pm_min_spare_servers: 12
|
||||
pm_max_spare_servers: 30
|
||||
|
||||
# Do NOT edit below this line
|
||||
workload:
|
||||
# Nextcloud php-fpm
|
||||
main:
|
||||
type: Deployment
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: nextcloud-config
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}"
|
||||
nginx:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
nginx:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: nginxImage
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
notify:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
notify:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: hpbImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hpb-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 7867
|
||||
imaginary:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
imaginary:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: imaginaryImage
|
||||
command: imaginary
|
||||
args:
|
||||
- -p
|
||||
- "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
- -concurrency
|
||||
- "10"
|
||||
- -enable-url-source
|
||||
- -return-size
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
clamav:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
clamav:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: clamavImage
|
||||
# FIXME: https://github.com/Cisco-Talos/clamav/issues/478
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
readOnlyRootFilesystem: false
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: clamav-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.clamav.ports.clamav.targetPort }}"
|
||||
|
||||
cronjobs:
|
||||
# Don't change names, it's used in the persistence
|
||||
- name: nextcloud-cron
|
||||
enabled: true
|
||||
schedule: "*/5 * * * *"
|
||||
cmd:
|
||||
- echo "Running [php -f /var/www/html/cron.php] ..."
|
||||
- php -f /var/www/html/cron.php
|
||||
- echo "Finished [php -f /var/www/html/cron.php]"
|
||||
- name: preview-cron
|
||||
enabled: "{{ .Values.nextcloud.previews.cron }}"
|
||||
schedule: "{{ .Values.nextcloud.previews.schedule }}"
|
||||
cmd:
|
||||
- echo "Running [occ preview:pre-generate] ..."
|
||||
- occ preview:pre-generate
|
||||
- echo "Finished [occ preview:pre-generate]"
|
||||
|
||||
service:
|
||||
# Main service links to ingress easier
|
||||
# That's why the nginx is swapped with nextcloud
|
||||
main:
|
||||
targetSelector: nginx
|
||||
ports:
|
||||
main:
|
||||
targetSelector: nginx
|
||||
port: 8080
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
ports:
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
notify:
|
||||
enabled: true
|
||||
targetSelector: notify
|
||||
ports:
|
||||
notify:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 7867
|
||||
targetPort: 7867
|
||||
targetSelector: notify
|
||||
metrics:
|
||||
enabled: true
|
||||
port: 7868
|
||||
targetSelector: notify
|
||||
imaginary:
|
||||
enabled: true
|
||||
targetSelector: imaginary
|
||||
ports:
|
||||
imaginary:
|
||||
enabled: true
|
||||
port: 9090
|
||||
targetSelector: imaginary
|
||||
clamav:
|
||||
enabled: true
|
||||
targetSelector: clamav
|
||||
ports:
|
||||
clamav:
|
||||
enabled: true
|
||||
port: 3310
|
||||
targetPort: 3310
|
||||
targetSelector: clamav
|
||||
|
||||
persistence:
|
||||
php-tune:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: php-tune
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf
|
||||
subPath: zz-tune.conf
|
||||
readOnly: true
|
||||
redis-session:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: redis-session
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php/conf.d/redis-session.ini
|
||||
subPath: redis-session.ini
|
||||
readOnly: true
|
||||
nginx:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: nginx-config
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /etc/nginx/nginx.conf
|
||||
subPath: nginx.conf
|
||||
readOnly: true
|
||||
nginx-temp:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /tmp/nginx
|
||||
html:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html
|
||||
readOnly: true
|
||||
config:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/config
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/config
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/config
|
||||
notify:
|
||||
notify:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
data:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/data
|
||||
init-perms:
|
||||
mountPath: /var/www/html/data
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/data
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/data
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/data
|
||||
readOnly: true
|
||||
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
user: nextcloud
|
||||
database: nextcloud
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
username: default
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -1,387 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "nextcloud.configmaps" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $urlNoProtocol := regexReplaceAll ".*://(.*)" .Values.chartContext.APPURL "${1}" -}}
|
||||
{{- $protocolOnly := regexReplaceAll "(.*)://.*" .Values.chartContext.APPURL "${1}" -}}
|
||||
{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}}
|
||||
{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}}
|
||||
{{- $healthHost := "kube.internal.healthcheck" -}}
|
||||
|
||||
php-tune:
|
||||
enabled: true
|
||||
data:
|
||||
zz-tune.conf: |
|
||||
[www]
|
||||
pm.max_children = {{ .Values.nextcloud.php.pm_max_children }}
|
||||
pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }}
|
||||
pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }}
|
||||
pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }}
|
||||
|
||||
redis-session:
|
||||
enabled: true
|
||||
data:
|
||||
redis-session.ini: |
|
||||
session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }}
|
||||
redis.session.locking_enabled = 1
|
||||
redis.session.lock_retries = -1
|
||||
redis.session.lock_wait_time = 10000
|
||||
|
||||
hpb-config:
|
||||
enabled: {{ .Values.nextcloud.notify_push.enabled }}
|
||||
data:
|
||||
NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }}
|
||||
HPB_HOST: {{ $healthHost }}
|
||||
CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }}
|
||||
METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }}
|
||||
|
||||
clamav-config:
|
||||
enabled: {{ .Values.nextcloud.clamav.enabled }}
|
||||
data:
|
||||
CLAMAV_NO_CLAMD: "false"
|
||||
CLAMAV_NO_FRESHCLAMD: "true"
|
||||
CLAMAV_NO_MILTERD: "true"
|
||||
CLAMD_STARTUP_TIMEOUT: "1800"
|
||||
|
||||
nextcloud-config:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* Database */}}
|
||||
POSTGRES_DB: {{ .Values.cnpg.main.database | quote }}
|
||||
POSTGRES_USER: {{ .Values.cnpg.main.user | quote }}
|
||||
POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }}
|
||||
POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }}
|
||||
|
||||
{{/* Redis */}}
|
||||
NX_REDIS_HOST: {{ $redisHost }}
|
||||
NX_REDIS_PASS: {{ $redisPass }}
|
||||
|
||||
{{/* Nextcloud INITIAL credentials */}}
|
||||
NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }}
|
||||
NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }}
|
||||
|
||||
{{/* PHP Variables */}}
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- end -}}
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- end }}
|
||||
PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }}
|
||||
PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }}
|
||||
|
||||
{{/* Notify Push */}}
|
||||
NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }}
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
{{- $endpoint := .Values.chartContext.APPURL -}}
|
||||
{{- if or (contains "127.0.0.1" $endpoint) (contains "localhost" $endpoint) -}}
|
||||
{{- $endpoint = printf "http://%v:%v" $fullname .Values.service.main.ports.main.port -}}
|
||||
{{- end }}
|
||||
NX_NOTIFY_PUSH_ENDPOINT: {{ $endpoint }}/push
|
||||
{{- end }}
|
||||
|
||||
{{/* Previews */}}
|
||||
NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }}
|
||||
{{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }}
|
||||
{{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }}
|
||||
{{- end }}
|
||||
NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }}
|
||||
NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }}
|
||||
NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }}
|
||||
NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }}
|
||||
NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }}
|
||||
NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }}
|
||||
NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }}
|
||||
NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }}
|
||||
NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }}
|
||||
|
||||
{{/* Imaginary */}}
|
||||
NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }}
|
||||
{{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }}
|
||||
NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Expirations */}}
|
||||
NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }}
|
||||
NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }}
|
||||
NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }}
|
||||
|
||||
{{/* General */}}
|
||||
NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }}
|
||||
NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }}
|
||||
NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
|
||||
{{/* Files */}}
|
||||
NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }}
|
||||
NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }}
|
||||
|
||||
{{/* Logging */}}
|
||||
NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }}
|
||||
NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }}
|
||||
NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }}
|
||||
NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }}
|
||||
NX_LOG_TIMEZONE: {{ .Values.TZ | quote }}
|
||||
|
||||
{{/* ClamAV */}}
|
||||
NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }}
|
||||
{{- if .Values.nextcloud.clamav.enabled }}
|
||||
NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }}
|
||||
NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }}
|
||||
NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }}
|
||||
NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }}
|
||||
NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}}
|
||||
{{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Collabora */}}
|
||||
NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }}
|
||||
{{- if .Values.nextcloud.collabora.enabled }}
|
||||
NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }}
|
||||
NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Only Office */}}
|
||||
NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }}
|
||||
{{- if .Values.nextcloud.onlyoffice.enabled }}
|
||||
NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }}
|
||||
NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }}
|
||||
NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* URLs */}}
|
||||
NX_OVERWRITE_HOST: {{ $urlNoProtocol }}
|
||||
NX_OVERWRITE_CLI_URL: {{ .Values.chartContext.APPURL }}
|
||||
# Return the protocol part of the URL
|
||||
NX_OVERWRITE_PROTOCOL: {{ $protocolOnly | lower }}
|
||||
# IP (or range in this case) of the proxy(ies)
|
||||
NX_TRUSTED_PROXIES: |
|
||||
{{ .Values.chartContext.svcCIDR }}
|
||||
# fullname-* will allow access from the
|
||||
# other services in the same namespace
|
||||
NX_TRUSTED_DOMAINS: |
|
||||
127.0.0.1
|
||||
localhost
|
||||
{{ $fullname }}
|
||||
{{ printf "%v-*" $fullname }}
|
||||
{{ $healthHost }}
|
||||
{{- if ne $urlNoProtocol "127.0.0.1" }}
|
||||
{{- $urlNoProtocol | nindent 6 }}
|
||||
{{- end -}}
|
||||
{{- with .Values.nextcloud.general.accessIP }}
|
||||
{{- . | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
# TODO: Replace locations with ingress
|
||||
# like /push, /.well-known/carddav, /.well-known/caldav
|
||||
# needs some work as nginx converts urls to pretty urls
|
||||
# before matching them to locations, so ingress needs to
|
||||
# take that into consideration.
|
||||
nginx-config:
|
||||
enabled: true
|
||||
data:
|
||||
nginx.conf: |
|
||||
worker_processes auto;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
# Set to /tmp so it can run as non-root
|
||||
pid /tmp/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# Set to /tmp so it can run as non-root
|
||||
client_body_temp_path /tmp/nginx/client_temp;
|
||||
proxy_temp_path /tmp/nginx/proxy_temp_path;
|
||||
fastcgi_temp_path /tmp/nginx/fastcgi_temp;
|
||||
uwsgi_temp_path /tmp/nginx/uwsgi_temp;
|
||||
scgi_temp_path /tmp/nginx/scgi_temp;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
# Prevent nginx HTTP Server Detection
|
||||
server_tokens off;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }};
|
||||
}
|
||||
|
||||
server {
|
||||
listen {{ .Values.service.main.ports.main.port }};
|
||||
absolute_redirect off;
|
||||
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
# Forward Notify_Push "High Performance Backend" to it's own container
|
||||
location ^~ /push/ {
|
||||
# The trailing "/" is important!
|
||||
proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
{{- end }}
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
# the consequences in https://hstspreload.org/. This option
|
||||
# will add the domain to a hardcoded list that is shipped
|
||||
# in all major browsers and getting removed from this list
|
||||
# could take several months.
|
||||
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
|
||||
|
||||
# Set max upload size
|
||||
client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }};
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
# Enable gzip but do not remove ETag headers
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_comp_level 4;
|
||||
gzip_min_length 256;
|
||||
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
|
||||
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
|
||||
|
||||
# Pagespeed is not supported by Nextcloud, so if your server is built
|
||||
# with the `ngx_pagespeed` module, uncomment this line to disable it.
|
||||
#pagespeed off;
|
||||
|
||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Download-Options "noopen" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Permitted-Cross-Domain-Policies "none" always;
|
||||
add_header X-Robots-Tag "noindex, nofollow" always;
|
||||
add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
||||
# Remove X-Powered-By, which is an information leak
|
||||
fastcgi_hide_header X-Powered-By;
|
||||
|
||||
# Path to the root of your installation
|
||||
root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }};
|
||||
|
||||
# Specify how to handle directories -- specifying `/index.php$request_uri`
|
||||
# here as the fallback means that Nginx always exhibits the desired behaviour
|
||||
# when a client requests a path that corresponds to a directory that exists
|
||||
# on the server. In particular, if that directory contains an index.php file,
|
||||
# that file is correctly served; if it doesn't, then the request is passed to
|
||||
# the front-end controller. This consistent behaviour means that we don't need
|
||||
# to specify custom rules for certain paths (e.g. images and other assets,
|
||||
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
|
||||
# `try_files $uri $uri/ /index.php$request_uri`
|
||||
# always provides the desired behaviour.
|
||||
index index.php index.html /index.php$request_uri;
|
||||
|
||||
# Rule borrowed from `.htaccess` to handle Microsoft DAV clients
|
||||
location = / {
|
||||
if ( $http_user_agent ~ ^DavClnt ) {
|
||||
return 302 /remote.php/webdav/$is_args$args;
|
||||
}
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Make a regex exception for `/.well-known` so that clients can still
|
||||
# access it despite the existence of the regex rule
|
||||
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
|
||||
# for `/.well-known`.
|
||||
location ^~ /.well-known {
|
||||
# The rules in this block are an adaptation of the rules
|
||||
# in `.htaccess` that concern `/.well-known`.
|
||||
|
||||
location = /.well-known/carddav { return 301 /remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 /remote.php/dav/; }
|
||||
|
||||
# According to the documentation these two lines are not necessary,
|
||||
# but some users are still receiving errors
|
||||
location = /.well-known/webfinger { return 301 /index.php$uri; }
|
||||
location = /.well-known/nodeinfo { return 301 /index.php$uri; }
|
||||
|
||||
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
|
||||
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
|
||||
|
||||
# Let Nextcloud's API for `/.well-known` URIs handle all other
|
||||
# requests by passing them to the front-end controller.
|
||||
return 301 /index.php$request_uri;
|
||||
}
|
||||
|
||||
# Rules borrowed from `.htaccess` to hide certain paths from clients
|
||||
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
|
||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
|
||||
|
||||
# Ensure this block, which passes PHP files to the PHP process, is above the blocks
|
||||
# which handle static assets (as seen below). If this block is not declared first,
|
||||
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
|
||||
# to the URI, resulting in a HTTP 500 error response.
|
||||
location ~ \.php(?:$|/) {
|
||||
# Required for legacy support
|
||||
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
|
||||
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
#fastcgi_param HTTPS on;
|
||||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_read_timeout 3600s;
|
||||
fastcgi_send_timeout 3600s;
|
||||
fastcgi_read_timeout 3600s;
|
||||
}
|
||||
|
||||
location ~ \.(?:css|js|svg|gif)$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 6M; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
location ~ \.woff2?$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 7d; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
# Rule borrowed from `.htaccess`
|
||||
location /remote {
|
||||
return 301 /remote.php$request_uri;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$request_uri;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
|
@ -1,34 +0,0 @@
|
|||
{{- define "nextcloud.cronjobs" -}}
|
||||
{{- range $cj := .Values.cronjobs }}
|
||||
{{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}}
|
||||
{{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }}
|
||||
|
||||
{{ $name }}:
|
||||
enabled: {{ $cj.enabled | quote }}
|
||||
type: CronJob
|
||||
schedule: {{ $schedule | quote }}
|
||||
podSpec:
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
{{ $name }}:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
{{- range $cj.cmd }}
|
||||
{{- . | nindent 12 }}
|
||||
{{- else -}}
|
||||
{{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}}
|
||||
{{- end }}
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
{{- end }}
|
||||
{{- end -}}
|
|
@ -1,29 +0,0 @@
|
|||
{{- define "nextcloud.init.perms" -}}
|
||||
{{- $uid := .Values.securityContext.container.runAsUser -}}
|
||||
{{- $gid := .Values.securityContext.container.runAsGroup -}}
|
||||
{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
enabled: true
|
||||
type: install
|
||||
imageSelector: alpineImage
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
capabilities:
|
||||
disableS6Caps: true
|
||||
add:
|
||||
- DAC_OVERRIDE
|
||||
- FOWNER
|
||||
- CHOWN
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Setting permissions to 700 on data directory [{{ $path }}] ..."
|
||||
chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]"
|
||||
|
||||
echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..."
|
||||
chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]"
|
||||
|
||||
echo "Finished."
|
||||
{{- end -}}
|
|
@ -1,25 +0,0 @@
|
|||
{{- define "nextcloud.wait.nextcloud" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }}
|
||||
enabled: true
|
||||
type: init
|
||||
imageSelector: image
|
||||
securityContext:
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
until \
|
||||
REQUEST_METHOD="GET" \
|
||||
SCRIPT_NAME="status.php" \
|
||||
SCRIPT_FILENAME="status.php" \
|
||||
cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true';
|
||||
do
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo "Nextcloud is ready and installed..."
|
||||
echo "Starting Nginx..."
|
||||
{{- end -}}
|
|
@ -1,57 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . -}}
|
||||
|
||||
{{/* Render configmaps for all pods */}}
|
||||
{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}}
|
||||
{{- if $configmaps -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Add [init perms] container to nextcloud */}}
|
||||
{{- if not (get .Values.workload.main.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}}
|
||||
|
||||
{{/* Add [wait nextcloud] container to nginx */}}
|
||||
{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
|
||||
{{/* Disable [notify push] if requested */}}
|
||||
{{- if not .Values.nextcloud.notify_push.enabled -}}
|
||||
{{- $_ := set .Values.workload.notify "enabled" false -}}
|
||||
{{- $_ := set .Values.service.notify "enabled" false -}}
|
||||
{{- else -}}
|
||||
{{/* Add [wait nextcloud] container to notify push */}}
|
||||
{{- if not (get .Values.workload.notify.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [clamav] if requested */}}
|
||||
{{- if not .Values.nextcloud.clamav.enabled -}}
|
||||
{{- $_ := set .Values.workload.clamav "enabled" false -}}
|
||||
{{- $_ := set .Values.service.clamav "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [previews] if requested */}}
|
||||
{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}}
|
||||
{{- $_ := set .Values.workload.imaginary "enabled" false -}}
|
||||
{{- $_ := set .Values.service.imaginary "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Create [cronjobs] defined */}}
|
||||
{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}}
|
||||
{{- if $cronjobs -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{- include "tc.v1.common.loader.apply" . -}}
|
|
@ -1,41 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17)
|
||||
|
||||
### Fix
|
||||
|
||||
- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "2.0.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.1
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.48
|
||||
deprecated: false
|
||||
description: A private cloud server that puts the control and security of your own data back into your hands.
|
||||
home: https://truecharts.org/charts/incubator/nextcloud
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png
|
||||
keywords:
|
||||
- nextcloud
|
||||
- storage
|
||||
- http
|
||||
- web
|
||||
- php
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: nextcloud
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud
|
||||
- https://github.com/nextcloud/docker
|
||||
- https://github.com/nextcloud/helm
|
||||
type: application
|
||||
version: 20.0.1
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- cloud
|
||||
truecharts.org/SCALE-support: "true"
|
|
@ -1,106 +0,0 @@
|
|||
Business Source License 1.1
|
||||
|
||||
Parameters
|
||||
|
||||
Licensor: The TrueCharts Project, it's owner and it's contributors
|
||||
Licensed Work: The TrueCharts "Blocky" Helm Chart
|
||||
Additional Use Grant: You may use the licensed work in production, as long
|
||||
as it is directly sourced from a TrueCharts provided
|
||||
official repository, catalog or source. You may also make private
|
||||
modification to the directly sourced licenced work,
|
||||
when used in production.
|
||||
|
||||
The following cases are, due to their nature, also
|
||||
defined as 'production use' and explicitly prohibited:
|
||||
- Bundling, including or displaying the licensed work
|
||||
with(in) another work intended for production use,
|
||||
with the apparent intend of facilitating and/or
|
||||
promoting production use by third parties in
|
||||
violation of this license.
|
||||
|
||||
Change Date: 2050-01-01
|
||||
|
||||
Change License: 3-clause BSD license
|
||||
|
||||
For information about alternative licensing arrangements for the Software,
|
||||
please contact: legal@truecharts.org
|
||||
|
||||
Notice
|
||||
|
||||
The Business Source License (this document, or the “License”) is not an Open
|
||||
Source license. However, the Licensed Work will eventually be made available
|
||||
under an Open Source License, as stated in this License.
|
||||
|
||||
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
||||
“Business Source License” is a trademark of MariaDB Corporation Ab.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Business Source License 1.1
|
||||
|
||||
Terms
|
||||
|
||||
The Licensor hereby grants you the right to copy, modify, create derivative
|
||||
works, redistribute, and make non-production use of the Licensed Work. The
|
||||
Licensor may make an Additional Use Grant, above, permitting limited
|
||||
production use.
|
||||
|
||||
Effective on the Change Date, or the fourth anniversary of the first publicly
|
||||
available distribution of a specific version of the Licensed Work under this
|
||||
License, whichever comes first, the Licensor hereby grants you rights under
|
||||
the terms of the Change License, and the rights granted in the paragraph
|
||||
above terminate.
|
||||
|
||||
If your use of the Licensed Work does not comply with the requirements
|
||||
currently in effect as described in this License, you must purchase a
|
||||
commercial license from the Licensor, its affiliated entities, or authorized
|
||||
resellers, or you must refrain from using the Licensed Work.
|
||||
|
||||
All copies of the original and modified Licensed Work, and derivative works
|
||||
of the Licensed Work, are subject to this License. This License applies
|
||||
separately for each version of the Licensed Work and the Change Date may vary
|
||||
for each version of the Licensed Work released by Licensor.
|
||||
|
||||
You must conspicuously display this License on each original or modified copy
|
||||
of the Licensed Work. If you receive the Licensed Work in original or
|
||||
modified form from a third party, the terms and conditions set forth in this
|
||||
License apply to your use of that work.
|
||||
|
||||
Any use of the Licensed Work in violation of this License will automatically
|
||||
terminate your rights under this License for the current and all other
|
||||
versions of the Licensed Work.
|
||||
|
||||
This License does not grant you any right in any trademark or logo of
|
||||
Licensor or its affiliates (provided that you may use a trademark or logo of
|
||||
Licensor as expressly required by this License).
|
||||
|
||||
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS PROVIDED ON
|
||||
AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS,
|
||||
EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND
|
||||
TITLE.
|
||||
|
||||
MariaDB hereby grants you permission to use this License’s text to license
|
||||
your works, and to refer to it using the trademark “Business Source License”,
|
||||
as long as you comply with the Covenants of Licensor below.
|
||||
|
||||
Covenants of Licensor
|
||||
|
||||
In consideration of the right to use this License’s text and the “Business
|
||||
Source License” name and trademark, Licensor covenants to MariaDB, and to all
|
||||
other recipients of the licensed work to be provided by Licensor:
|
||||
|
||||
1. To specify as the Change License the GPL Version 2.0 or any later version,
|
||||
or a license that is compatible with GPL Version 2.0 or a later version,
|
||||
where “compatible” means that software provided under the Change License can
|
||||
be included in a program with software provided under GPL Version 2.0 or a
|
||||
later version. Licensor may specify additional Change Licenses without
|
||||
limitation.
|
||||
|
||||
2. To either: (a) specify an additional grant of rights to use that does not
|
||||
impose any additional restriction on the right granted in this License, as
|
||||
the Additional Use Grant; or (b) insert the text “None”.
|
||||
|
||||
3. To specify a Change Date.
|
||||
|
||||
4. Not to modify this License in any other way.
|
|
@ -1,27 +0,0 @@
|
|||
# README
|
||||
|
||||
## General Info
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
However only installations using the TrueNAS SCALE Apps system are supported.
|
||||
|
||||
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/incubator/)
|
||||
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
|
||||
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
|
||||
- See the [Website](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
|
||||
|
||||
---
|
||||
|
||||
## Sponsor TrueCharts
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
||||
|
||||
*All Rights Reserved - The TrueCharts Project*
|
|
@ -1,9 +0,0 @@
|
|||
|
||||
|
||||
## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17)
|
||||
|
||||
### Fix
|
||||
|
||||
- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720))
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
A private cloud server that puts the control and security of your own data back into your hands.
|
||||
|
||||
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/incubator/nextcloud](https://truecharts.org/charts/incubator/nextcloud)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
|
@ -1,430 +0,0 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/nextcloud-fpm
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v2.0.0@sha256:c3ff63fa9613fbad94c7950743482c8bb2a2a659ac42b3daac8963e0bbaf5129
|
||||
nginxImage:
|
||||
repository: tccr.io/truecharts/nginx-unprivileged
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.24.0@sha256:f6386a703b6a0679b6274cc366a6efe7a06b8b5b3391353465d9d1649b4584ef
|
||||
imaginaryImage:
|
||||
repository: tccr.io/truecharts/nextcloud-imaginary
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v20230401@sha256:4f5e3895987a9d12336f772a64a77dd662c6c9bb2b96820b19ffbab58f3ff982
|
||||
hpbImage:
|
||||
repository: tccr.io/truecharts/nextcloud-push-notify
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v0.6.3@sha256:25c0a2f0c3eeb64e26be102cc3be09d8ce19b8d05397e188f73f94de8359d339
|
||||
clamavImage:
|
||||
repository: tccr.io/truecharts/clamav
|
||||
pullPolicy: IfNotPresent
|
||||
tag: v1.1.0@sha256:ab196d867fcfddedc8dc965d67a2e6824ca65488cf616cc707e9c36efd54e086
|
||||
|
||||
nextcloud:
|
||||
# Initial Credentials
|
||||
credentials:
|
||||
initialAdminUser: admin
|
||||
initialAdminPassword: adminpass
|
||||
# General settings
|
||||
general:
|
||||
# Custom Nextcloud Scripts
|
||||
run_optimize: true
|
||||
default_phone_region: GR
|
||||
# IP used for exposing nextcloud,
|
||||
# often the loadbalancer IP
|
||||
accessIP: ""
|
||||
# File settings
|
||||
files:
|
||||
shared_folder_name: Shared
|
||||
max_chunk_size: 10485760
|
||||
# Expiration settings
|
||||
expirations:
|
||||
activity_expire_days: 90
|
||||
trash_retention_obligation: auto
|
||||
versions_retention_obligation: auto
|
||||
# Previews settings
|
||||
previews:
|
||||
enabled: true
|
||||
# It will also deploy the container
|
||||
imaginary: true
|
||||
cron: true
|
||||
schedule: "*/30 * * * *"
|
||||
max_x: 2048
|
||||
max_y: 2048
|
||||
max_memory: 1024
|
||||
max_file_size_image: 50
|
||||
jpeg_quality: 60
|
||||
square_sizes: 32 256
|
||||
width_sizes: 256 384
|
||||
height_sizes: 256
|
||||
# Casings are important
|
||||
# https://github.com/nextcloud/server/blob/master/config/config.sample.php#L1269
|
||||
# Only the last part of the provider is needed
|
||||
providers:
|
||||
- PNG
|
||||
- JPEG
|
||||
# Logging settings
|
||||
logging:
|
||||
log_level: 2
|
||||
log_file: /var/www/html/data/logs/nextcloud.log
|
||||
log_audit_file: /var/www/html/data/logs/audit.log
|
||||
log_date_format: d/m/Y H:i:s
|
||||
# ClamAV settings
|
||||
clamav:
|
||||
# It will also deploy the container
|
||||
# Note that this runs as root
|
||||
enabled: false
|
||||
stream_max_length: 26214400
|
||||
file_max_size: -1
|
||||
infected_action: only_log
|
||||
# Notify Push settings
|
||||
notify_push:
|
||||
# It will also deploy the container
|
||||
enabled: true
|
||||
# Collabora settings
|
||||
collabora:
|
||||
# It will not deploy the container
|
||||
# Only add the Collabora settings
|
||||
enabled: false
|
||||
url: ""
|
||||
allow_list:
|
||||
- 0.0.0.0/0
|
||||
onlyoffice:
|
||||
# It will not deploy the container
|
||||
# Only add the OnlyOffice settings
|
||||
enabled: false
|
||||
url: ""
|
||||
jwt: ""
|
||||
jwt_header: Authorization
|
||||
# PHP settings
|
||||
php:
|
||||
memory_limit: 1G
|
||||
upload_limit: 10G
|
||||
pm_max_children: 180
|
||||
pm_start_servers: 18
|
||||
pm_min_spare_servers: 12
|
||||
pm_max_spare_servers: 30
|
||||
|
||||
# Do NOT edit below this line
|
||||
workload:
|
||||
# Nextcloud php-fpm
|
||||
main:
|
||||
type: Deployment
|
||||
podSpec:
|
||||
containers:
|
||||
main:
|
||||
enabled: true
|
||||
primary: true
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: nextcloud-config
|
||||
probes:
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: /healthcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.nextcloud.ports.nextcloud.targetPort }}"
|
||||
nginx:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
nginx:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: nginxImage
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /robots.txt
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.main.ports.main.port }}"
|
||||
notify:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
notify:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: hpbImage
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: hpb-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /push/test/cookie
|
||||
port: 7867
|
||||
httpHeaders:
|
||||
Host: kube.internal.healthcheck
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: 7867
|
||||
imaginary:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
imaginary:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: imaginaryImage
|
||||
command: imaginary
|
||||
args:
|
||||
- -p
|
||||
- "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
- -concurrency
|
||||
- "10"
|
||||
- -enable-url-source
|
||||
- -return-size
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
liveness:
|
||||
enabled: true
|
||||
path: /health
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.imaginary.ports.imaginary.port }}"
|
||||
clamav:
|
||||
enabled: true
|
||||
type: Deployment
|
||||
strategy: RollingUpdate
|
||||
replicas: 1
|
||||
podSpec:
|
||||
containers:
|
||||
clamav:
|
||||
primary: true
|
||||
enabled: true
|
||||
imageSelector: clamavImage
|
||||
# FIXME: https://github.com/Cisco-Talos/clamav/issues/478
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
readOnlyRootFilesystem: false
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: clamav-config
|
||||
probes:
|
||||
readiness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
liveness:
|
||||
enabled: true
|
||||
type: exec
|
||||
command: clamdcheck.sh
|
||||
startup:
|
||||
enabled: true
|
||||
type: tcp
|
||||
port: "{{ .Values.service.clamav.ports.clamav.targetPort }}"
|
||||
|
||||
cronjobs:
|
||||
# Don't change names, it's used in the persistence
|
||||
- name: nextcloud-cron
|
||||
enabled: true
|
||||
schedule: "*/5 * * * *"
|
||||
cmd:
|
||||
- echo "Running [php -f /var/www/html/cron.php] ..."
|
||||
- php -f /var/www/html/cron.php
|
||||
- echo "Finished [php -f /var/www/html/cron.php]"
|
||||
- name: preview-cron
|
||||
enabled: "{{ .Values.nextcloud.previews.cron }}"
|
||||
schedule: "{{ .Values.nextcloud.previews.schedule }}"
|
||||
cmd:
|
||||
- echo "Running [occ preview:pre-generate] ..."
|
||||
- occ preview:pre-generate
|
||||
- echo "Finished [occ preview:pre-generate]"
|
||||
|
||||
service:
|
||||
# Main service links to ingress easier
|
||||
# That's why the nginx is swapped with nextcloud
|
||||
main:
|
||||
targetSelector: nginx
|
||||
ports:
|
||||
main:
|
||||
targetSelector: nginx
|
||||
port: 8080
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
ports:
|
||||
nextcloud:
|
||||
enabled: true
|
||||
targetSelector: main
|
||||
port: 9000
|
||||
targetPort: 9000
|
||||
notify:
|
||||
enabled: true
|
||||
targetSelector: notify
|
||||
ports:
|
||||
notify:
|
||||
enabled: true
|
||||
primary: true
|
||||
port: 7867
|
||||
targetPort: 7867
|
||||
targetSelector: notify
|
||||
metrics:
|
||||
enabled: true
|
||||
port: 7868
|
||||
targetSelector: notify
|
||||
imaginary:
|
||||
enabled: true
|
||||
targetSelector: imaginary
|
||||
ports:
|
||||
imaginary:
|
||||
enabled: true
|
||||
port: 9090
|
||||
targetSelector: imaginary
|
||||
clamav:
|
||||
enabled: true
|
||||
targetSelector: clamav
|
||||
ports:
|
||||
clamav:
|
||||
enabled: true
|
||||
port: 3310
|
||||
targetPort: 3310
|
||||
targetSelector: clamav
|
||||
|
||||
persistence:
|
||||
php-tune:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: php-tune
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php-fpm.d/zz-tune.conf
|
||||
subPath: zz-tune.conf
|
||||
readOnly: true
|
||||
redis-session:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: redis-session
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /usr/local/etc/php/conf.d/redis-session.ini
|
||||
subPath: redis-session.ini
|
||||
readOnly: true
|
||||
nginx:
|
||||
enabled: true
|
||||
type: configmap
|
||||
objectName: nginx-config
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /etc/nginx/nginx.conf
|
||||
subPath: nginx.conf
|
||||
readOnly: true
|
||||
nginx-temp:
|
||||
enabled: true
|
||||
type: emptyDir
|
||||
targetSelector:
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /tmp/nginx
|
||||
html:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html
|
||||
readOnly: true
|
||||
config:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/config
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/config
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/config
|
||||
notify:
|
||||
notify:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/config
|
||||
readOnly: true
|
||||
data:
|
||||
enabled: true
|
||||
targetSelector:
|
||||
main:
|
||||
main:
|
||||
mountPath: /var/www/html/data
|
||||
init-perms:
|
||||
mountPath: /var/www/html/data
|
||||
nextcloud-cron:
|
||||
nextcloud-cron:
|
||||
mountPath: /var/www/html/data
|
||||
preview-cron:
|
||||
preview-cron:
|
||||
mountPath: /var/www/html/data
|
||||
nginx:
|
||||
nginx:
|
||||
mountPath: /var/www/html/data
|
||||
readOnly: true
|
||||
|
||||
cnpg:
|
||||
main:
|
||||
enabled: true
|
||||
user: nextcloud
|
||||
database: nextcloud
|
||||
|
||||
redis:
|
||||
enabled: true
|
||||
username: default
|
||||
|
||||
portal:
|
||||
open:
|
||||
enabled: true
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
{{- include "tc.v1.common.lib.chart.notes" $ -}}
|
|
@ -1,396 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "nextcloud.configmaps" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $accessUrl := .Values.chartContext.APPURL -}}
|
||||
{{- if or (contains "127.0.0.1" $accessUrl) (contains "localhost" $accessUrl) -}}
|
||||
{{- if .Values.nextcloud.general.accessIP -}}
|
||||
{{- $prot := "http" -}}
|
||||
{{- $host := .Values.nextcloud.general.accessIP -}}
|
||||
{{- $port := .Values.service.main.ports.main.port -}}
|
||||
{{/*
|
||||
Allowing here to override protocol and port
|
||||
should be enough to make it work with any rev proxy
|
||||
*/}}
|
||||
{{- $accessUrl = printf "%v://%v:%v" $prot $host $port -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- $accessHostPort := regexReplaceAll ".*://(.*)" $accessUrl "${1}" -}}
|
||||
{{- $accessProtocol := regexReplaceAll "(.*)://.*" $accessUrl "${1}" -}}
|
||||
{{- $redisHost := .Values.redis.creds.plainhost | trimAll "\"" -}}
|
||||
{{- $redisPass := .Values.redis.creds.redisPassword | trimAll "\"" -}}
|
||||
{{- $healthHost := "kube.internal.healthcheck" -}}
|
||||
|
||||
php-tune:
|
||||
enabled: true
|
||||
data:
|
||||
zz-tune.conf: |
|
||||
[www]
|
||||
pm.max_children = {{ .Values.nextcloud.php.pm_max_children }}
|
||||
pm.start_servers = {{ .Values.nextcloud.php.pm_start_servers }}
|
||||
pm.min_spare_servers = {{ .Values.nextcloud.php.pm_min_spare_servers }}
|
||||
pm.max_spare_servers = {{ .Values.nextcloud.php.pm_max_spare_servers }}
|
||||
|
||||
redis-session:
|
||||
enabled: true
|
||||
data:
|
||||
redis-session.ini: |
|
||||
session.save_path = {{ printf "tcp://%v:6379?auth=%v" $redisHost $redisPass | quote }}
|
||||
redis.session.locking_enabled = 1
|
||||
redis.session.lock_retries = -1
|
||||
redis.session.lock_wait_time = 10000
|
||||
|
||||
hpb-config:
|
||||
enabled: {{ .Values.nextcloud.notify_push.enabled }}
|
||||
data:
|
||||
NEXTCLOUD_URL: {{ printf "http://%v:%v" $fullname .Values.service.main.ports.main.port }}
|
||||
HPB_HOST: {{ $healthHost }}
|
||||
CONFIG_FILE: {{ printf "%v/config.php" .Values.persistence.config.targetSelector.notify.notify.mountPath }}
|
||||
METRICS_PORT: {{ .Values.service.notify.ports.metrics.port | quote }}
|
||||
|
||||
clamav-config:
|
||||
enabled: {{ .Values.nextcloud.clamav.enabled }}
|
||||
data:
|
||||
CLAMAV_NO_CLAMD: "false"
|
||||
CLAMAV_NO_FRESHCLAMD: "true"
|
||||
CLAMAV_NO_MILTERD: "true"
|
||||
CLAMD_STARTUP_TIMEOUT: "1800"
|
||||
|
||||
nextcloud-config:
|
||||
enabled: true
|
||||
data:
|
||||
{{/* Database */}}
|
||||
POSTGRES_DB: {{ .Values.cnpg.main.database | quote }}
|
||||
POSTGRES_USER: {{ .Values.cnpg.main.user | quote }}
|
||||
POSTGRES_PASSWORD: {{ .Values.cnpg.main.creds.password | trimAll "\"" }}
|
||||
POSTGRES_HOST: {{ .Values.cnpg.main.creds.host | trimAll "\"" }}
|
||||
|
||||
{{/* Redis */}}
|
||||
NX_REDIS_HOST: {{ $redisHost }}
|
||||
NX_REDIS_PASS: {{ $redisPass }}
|
||||
|
||||
{{/* Nextcloud INITIAL credentials */}}
|
||||
NEXTCLOUD_ADMIN_USER: {{ .Values.nextcloud.credentials.initialAdminUser | quote }}
|
||||
NEXTCLOUD_ADMIN_PASSWORD: {{ .Values.nextcloud.credentials.initialAdminPassword | quote }}
|
||||
|
||||
{{/* PHP Variables */}}
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.memory_limit) -}}
|
||||
{{- end -}}
|
||||
{{- if not (mustRegexMatch "^[0-9]+(M|G){1}$" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- fail (printf "Nextcloud - Expected Memory Limit to be in format [1M, 1G] but got [%v]" .Values.nextcloud.php.upload_limit) -}}
|
||||
{{- end }}
|
||||
PHP_MEMORY_LIMIT: {{ .Values.nextcloud.php.memory_limit | quote }}
|
||||
PHP_UPLOAD_LIMIT: {{ .Values.nextcloud.php.upload_limit | quote }}
|
||||
|
||||
{{/* Notify Push */}}
|
||||
NX_NOTIFY_PUSH: {{ .Values.nextcloud.notify_push.enabled | quote }}
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
NX_NOTIFY_PUSH_ENDPOINT: {{ $accessUrl }}/push
|
||||
{{- end }}
|
||||
|
||||
{{/* Previews */}}
|
||||
NX_PREVIEWS: {{ .Values.nextcloud.previews.enabled | quote }}
|
||||
{{- if not (deepEqual .Values.nextcloud.previews.providers (uniq .Values.nextcloud.previews.providers)) }}
|
||||
{{- fail (printf "Nextcloud - Expected preview providers to be unique but got [%v]" .Values.nextcloud.previews.providers) }}
|
||||
{{- end }}
|
||||
NX_PREVIEW_PROVIDERS: {{ join " " .Values.nextcloud.previews.providers }}
|
||||
NX_PREVIEW_MAX_X: {{ .Values.nextcloud.previews.max_x | quote }}
|
||||
NX_PREVIEW_MAX_Y: {{ .Values.nextcloud.previews.max_y | quote }}
|
||||
NX_PREVIEW_MAX_MEMORY: {{ .Values.nextcloud.previews.max_memory | quote }}
|
||||
NX_PREVIEW_MAX_FILESIZE_IMAGE: {{ .Values.nextcloud.previews.max_file_size_image | quote }}
|
||||
NX_JPEG_QUALITY: {{ .Values.nextcloud.previews.jpeg_quality | quote }}
|
||||
NX_PREVIEW_SQUARE_SIZES: {{ .Values.nextcloud.previews.square_sizes | quote }}
|
||||
NX_PREVIEW_WIDTH_SIZES: {{ .Values.nextcloud.previews.width_sizes | quote }}
|
||||
NX_PREVIEW_HEIGHT_SIZES: {{ .Values.nextcloud.previews.height_sizes | quote }}
|
||||
|
||||
{{/* Imaginary */}}
|
||||
NX_IMAGINARY: {{ and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary | quote }}
|
||||
{{- if and .Values.nextcloud.previews.enabled .Values.nextcloud.previews.imaginary }}
|
||||
NX_IMAGINARY_URL: {{ printf "http://%v-imaginary:%v" $fullname .Values.service.imaginary.ports.imaginary.port }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Expirations */}}
|
||||
NX_ACTIVITY_EXPIRE_DAYS: {{ .Values.nextcloud.expirations.activity_expire_days | quote }}
|
||||
NX_TRASH_RETENTION: {{ .Values.nextcloud.expirations.trash_retention_obligation | quote }}
|
||||
NX_VERSIONS_RETENTION: {{ .Values.nextcloud.expirations.versions_retention_obligation | quote }}
|
||||
|
||||
{{/* General */}}
|
||||
NX_RUN_OPTIMIZE: {{ .Values.nextcloud.general.run_optimize | quote }}
|
||||
NX_DEFAULT_PHONE_REGION: {{ .Values.nextcloud.general.default_phone_region | quote }}
|
||||
NEXTCLOUD_DATA_DIR: {{ .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
|
||||
{{/* Files */}}
|
||||
NX_SHARED_FOLDER_NAME: {{ .Values.nextcloud.files.shared_folder_name | quote }}
|
||||
NX_MAX_CHUNKSIZE: {{ .Values.nextcloud.files.max_chunk_size | mul 1 | quote }}
|
||||
|
||||
{{/* Logging */}}
|
||||
NX_LOG_LEVEL: {{ .Values.nextcloud.logging.log_level | quote }}
|
||||
NX_LOG_FILE: {{ .Values.nextcloud.logging.log_file | quote }}
|
||||
NX_LOG_FILE_AUDIT: {{ .Values.nextcloud.logging.log_audit_file | quote }}
|
||||
NX_LOG_DATE_FORMAT: {{ .Values.nextcloud.logging.log_date_format | quote }}
|
||||
NX_LOG_TIMEZONE: {{ .Values.TZ | quote }}
|
||||
|
||||
{{/* ClamAV */}}
|
||||
NX_CLAMAV: {{ .Values.nextcloud.clamav.enabled | quote }}
|
||||
{{- if .Values.nextcloud.clamav.enabled }}
|
||||
NX_CLAMAV_HOST: {{ printf "%v-clamav" $fullname }}
|
||||
NX_CLAMAV_PORT: {{ .Values.service.clamav.ports.clamav.targetPort | quote }}
|
||||
NX_CLAMAV_STREAM_MAX_LENGTH: {{ .Values.nextcloud.clamav.stream_max_length | mul 1 | quote }}
|
||||
NX_CLAMAV_FILE_MAX_SIZE: {{ .Values.nextcloud.clamav.file_max_size | quote }}
|
||||
NX_CLAMAV_INFECTED_ACTION: {{ .Values.nextcloud.clamav.infected_action | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{- if and .Values.nextcloud.collabora.enabled .Values.nextcloud.onlyoffice.enabled -}}
|
||||
{{- fail "Nextcloud - Expected only one of [Collabora, OnlyOffice] to be enabled" -}}
|
||||
{{- end }}
|
||||
|
||||
{{/* Collabora */}}
|
||||
NX_COLLABORA: {{ .Values.nextcloud.collabora.enabled | quote }}
|
||||
{{- if .Values.nextcloud.collabora.enabled }}
|
||||
NX_COLLABORA_URL: {{ .Values.nextcloud.collabora.url | quote }}
|
||||
NX_COLLABORA_ALLOWLIST: {{ join "," .Values.nextcloud.collabora.allow_list | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* Only Office */}}
|
||||
NX_ONLYOFFICE: {{ .Values.nextcloud.onlyoffice.enabled | quote }}
|
||||
{{- if .Values.nextcloud.onlyoffice.enabled }}
|
||||
NX_ONLYOFFICE_URL: {{ .Values.nextcloud.onlyoffice.url | quote }}
|
||||
NX_ONLYOFFICE_JWT: {{ .Values.nextcloud.onlyoffice.jwt | quote }}
|
||||
NX_ONLYOFFICE_JWT_HEADER: {{ .Values.nextcloud.onlyoffice.jwt_header | quote }}
|
||||
{{- end }}
|
||||
|
||||
{{/* URLs */}}
|
||||
NX_OVERWRITE_HOST: {{ $accessHostPort }}
|
||||
NX_OVERWRITE_CLI_URL: {{ $accessUrl }}
|
||||
# Return the protocol part of the URL
|
||||
NX_OVERWRITE_PROTOCOL: {{ $accessProtocol | lower }}
|
||||
# IP (or range in this case) of the proxy(ies)
|
||||
NX_TRUSTED_PROXIES: |
|
||||
{{ .Values.chartContext.svcCIDR }}
|
||||
# fullname-* will allow access from the
|
||||
# other services in the same namespace
|
||||
NX_TRUSTED_DOMAINS: |
|
||||
127.0.0.1
|
||||
localhost
|
||||
{{ $fullname }}
|
||||
{{ printf "%v-*" $fullname }}
|
||||
{{ $healthHost }}
|
||||
{{- if not (contains "127.0.0.1" $accessHostPort) }}
|
||||
{{- $accessHostPort | nindent 6 }}
|
||||
{{- end -}}
|
||||
{{- with .Values.nextcloud.general.accessIP }}
|
||||
{{- . | nindent 6 }}
|
||||
{{- end }}
|
||||
|
||||
# TODO: Replace locations with ingress
|
||||
# like /push, /.well-known/carddav, /.well-known/caldav
|
||||
# needs some work as nginx converts urls to pretty urls
|
||||
# before matching them to locations, so ingress needs to
|
||||
# take that into consideration.
|
||||
nginx-config:
|
||||
enabled: true
|
||||
data:
|
||||
nginx.conf: |
|
||||
worker_processes auto;
|
||||
|
||||
error_log /var/log/nginx/error.log warn;
|
||||
# Set to /tmp so it can run as non-root
|
||||
pid /tmp/nginx.pid;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
# Set to /tmp so it can run as non-root
|
||||
client_body_temp_path /tmp/nginx/client_temp;
|
||||
proxy_temp_path /tmp/nginx/proxy_temp_path;
|
||||
fastcgi_temp_path /tmp/nginx/fastcgi_temp;
|
||||
uwsgi_temp_path /tmp/nginx/uwsgi_temp;
|
||||
scgi_temp_path /tmp/nginx/scgi_temp;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
|
||||
# Prevent nginx HTTP Server Detection
|
||||
server_tokens off;
|
||||
|
||||
keepalive_timeout 65;
|
||||
|
||||
#gzip on;
|
||||
|
||||
upstream php-handler {
|
||||
server {{ printf "%v-nextcloud" $fullname }}:{{ .Values.service.nextcloud.ports.nextcloud.targetPort }};
|
||||
}
|
||||
|
||||
server {
|
||||
listen {{ .Values.service.main.ports.main.port }};
|
||||
absolute_redirect off;
|
||||
|
||||
{{- if .Values.nextcloud.notify_push.enabled }}
|
||||
# Forward Notify_Push "High Performance Backend" to it's own container
|
||||
location ^~ /push/ {
|
||||
# The trailing "/" is important!
|
||||
proxy_pass http://{{ printf "%v-notify" $fullname }}:{{ .Values.service.notify.ports.notify.targetPort }}/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "Upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
{{- end }}
|
||||
|
||||
# HSTS settings
|
||||
# WARNING: Only add the preload option once you read about
|
||||
# the consequences in https://hstspreload.org/. This option
|
||||
# will add the domain to a hardcoded list that is shipped
|
||||
# in all major browsers and getting removed from this list
|
||||
# could take several months.
|
||||
#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
|
||||
|
||||
# Set max upload size
|
||||
client_max_body_size {{ .Values.nextcloud.php.upload_limit | default "512M" }};
|
||||
fastcgi_buffers 64 4K;
|
||||
|
||||
# Enable gzip but do not remove ETag headers
|
||||
gzip on;
|
||||
gzip_vary on;
|
||||
gzip_comp_level 4;
|
||||
gzip_min_length 256;
|
||||
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
|
||||
gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
|
||||
|
||||
# Pagespeed is not supported by Nextcloud, so if your server is built
|
||||
# with the `ngx_pagespeed` module, uncomment this line to disable it.
|
||||
#pagespeed off;
|
||||
|
||||
# HTTP response headers borrowed from Nextcloud `.htaccess`
|
||||
add_header Referrer-Policy "no-referrer" always;
|
||||
add_header X-Content-Type-Options "nosniff" always;
|
||||
add_header X-Download-Options "noopen" always;
|
||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||
add_header X-Permitted-Cross-Domain-Policies "none" always;
|
||||
add_header X-Robots-Tag "noindex, nofollow" always;
|
||||
add_header X-XSS-Protection "1; mode=block" always;
|
||||
|
||||
# Remove X-Powered-By, which is an information leak
|
||||
fastcgi_hide_header X-Powered-By;
|
||||
|
||||
# Path to the root of your installation
|
||||
root {{ .Values.persistence.html.targetSelector.nginx.nginx.mountPath }};
|
||||
|
||||
# Specify how to handle directories -- specifying `/index.php$request_uri`
|
||||
# here as the fallback means that Nginx always exhibits the desired behaviour
|
||||
# when a client requests a path that corresponds to a directory that exists
|
||||
# on the server. In particular, if that directory contains an index.php file,
|
||||
# that file is correctly served; if it doesn't, then the request is passed to
|
||||
# the front-end controller. This consistent behaviour means that we don't need
|
||||
# to specify custom rules for certain paths (e.g. images and other assets,
|
||||
# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus
|
||||
# `try_files $uri $uri/ /index.php$request_uri`
|
||||
# always provides the desired behaviour.
|
||||
index index.php index.html /index.php$request_uri;
|
||||
|
||||
# Rule borrowed from `.htaccess` to handle Microsoft DAV clients
|
||||
location = / {
|
||||
if ( $http_user_agent ~ ^DavClnt ) {
|
||||
return 302 /remote.php/webdav/$is_args$args;
|
||||
}
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Make a regex exception for `/.well-known` so that clients can still
|
||||
# access it despite the existence of the regex rule
|
||||
# `location ~ /(\.|autotest|...)` which would otherwise handle requests
|
||||
# for `/.well-known`.
|
||||
location ^~ /.well-known {
|
||||
# The rules in this block are an adaptation of the rules
|
||||
# in `.htaccess` that concern `/.well-known`.
|
||||
|
||||
location = /.well-known/carddav { return 301 /remote.php/dav/; }
|
||||
location = /.well-known/caldav { return 301 /remote.php/dav/; }
|
||||
|
||||
# According to the documentation these two lines are not necessary,
|
||||
# but some users are still receiving errors
|
||||
location = /.well-known/webfinger { return 301 /index.php$uri; }
|
||||
location = /.well-known/nodeinfo { return 301 /index.php$uri; }
|
||||
|
||||
location /.well-known/acme-challenge { try_files $uri $uri/ =404; }
|
||||
location /.well-known/pki-validation { try_files $uri $uri/ =404; }
|
||||
|
||||
# Let Nextcloud's API for `/.well-known` URIs handle all other
|
||||
# requests by passing them to the front-end controller.
|
||||
return 301 /index.php$request_uri;
|
||||
}
|
||||
|
||||
# Rules borrowed from `.htaccess` to hide certain paths from clients
|
||||
location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }
|
||||
location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }
|
||||
|
||||
# Ensure this block, which passes PHP files to the PHP process, is above the blocks
|
||||
# which handle static assets (as seen below). If this block is not declared first,
|
||||
# then Nginx will encounter an infinite rewriting loop when it prepends `/index.php`
|
||||
# to the URI, resulting in a HTTP 500 error response.
|
||||
location ~ \.php(?:$|/) {
|
||||
# Required for legacy support
|
||||
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
|
||||
|
||||
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||
set $path_info $fastcgi_path_info;
|
||||
|
||||
try_files $fastcgi_script_name =404;
|
||||
|
||||
include fastcgi_params;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
fastcgi_param PATH_INFO $path_info;
|
||||
#fastcgi_param HTTPS on;
|
||||
|
||||
fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twice
|
||||
fastcgi_param front_controller_active true; # Enable pretty urls
|
||||
fastcgi_pass php-handler;
|
||||
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_request_buffering off;
|
||||
proxy_send_timeout 3600s;
|
||||
proxy_read_timeout 3600s;
|
||||
fastcgi_send_timeout 3600s;
|
||||
fastcgi_read_timeout 3600s;
|
||||
}
|
||||
|
||||
location ~ \.(?:css|js|svg|gif)$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 6M; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
location ~ \.woff2?$ {
|
||||
try_files $uri /index.php$request_uri;
|
||||
expires 7d; # Cache-Control policy borrowed from `.htaccess`
|
||||
access_log off; # Optional: Don't log access to assets
|
||||
}
|
||||
|
||||
# Rule borrowed from `.htaccess`
|
||||
location /remote {
|
||||
return 301 /remote.php$request_uri;
|
||||
}
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php$request_uri;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
|
@ -1,34 +0,0 @@
|
|||
{{- define "nextcloud.cronjobs" -}}
|
||||
{{- range $cj := .Values.cronjobs }}
|
||||
{{- $name := $cj.name | required "Nextcloud - Expected non-empty name in cronjob" -}}
|
||||
{{- $schedule := $cj.schedule | required "Nextcloud - Expected non-empty schedule in cronjob" }}
|
||||
|
||||
{{ $name }}:
|
||||
enabled: {{ $cj.enabled | quote }}
|
||||
type: CronJob
|
||||
schedule: {{ $schedule | quote }}
|
||||
podSpec:
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
{{ $name }}:
|
||||
enabled: true
|
||||
primary: true
|
||||
imageSelector: image
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
{{- range $cj.cmd }}
|
||||
{{- . | nindent 12 }}
|
||||
{{- else -}}
|
||||
{{- fail "Nextcloud - Expected non-empty cmd in cronjob" -}}
|
||||
{{- end }}
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
startup:
|
||||
enabled: false
|
||||
{{- end }}
|
||||
{{- end -}}
|
|
@ -1,29 +0,0 @@
|
|||
{{- define "nextcloud.init.perms" -}}
|
||||
{{- $uid := .Values.securityContext.container.runAsUser -}}
|
||||
{{- $gid := .Values.securityContext.container.runAsGroup -}}
|
||||
{{- $path := .Values.persistence.data.targetSelector.main.main.mountPath }}
|
||||
enabled: true
|
||||
type: install
|
||||
imageSelector: alpineImage
|
||||
securityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
runAsNonRoot: false
|
||||
capabilities:
|
||||
disableS6Caps: true
|
||||
add:
|
||||
- DAC_OVERRIDE
|
||||
- FOWNER
|
||||
- CHOWN
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Setting permissions to 700 on data directory [{{ $path }}] ..."
|
||||
chmod 770 {{ $path }} | echo "Failed to set permissions on data directory [{{ $path }}]"
|
||||
|
||||
echo "Setting ownership to {{ $uid }}:{{ $gid }} on data directory [{{ $path }}] ..."
|
||||
chown {{ $uid }}:{{ $gid }} {{ $path }} | echo "Failed to set ownership on data directory [{{ $path }}]"
|
||||
|
||||
echo "Finished."
|
||||
{{- end -}}
|
|
@ -1,25 +0,0 @@
|
|||
{{- define "nextcloud.wait.nextcloud" -}}
|
||||
{{- $fullname := (include "tc.v1.common.lib.chart.names.fullname" $) -}}
|
||||
{{- $ncURL := printf "%v-nextcloud:%v" $fullname .Values.service.nextcloud.ports.nextcloud.targetPort }}
|
||||
enabled: true
|
||||
type: init
|
||||
imageSelector: image
|
||||
securityContext:
|
||||
command: /bin/sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
until \
|
||||
REQUEST_METHOD="GET" \
|
||||
SCRIPT_NAME="status.php" \
|
||||
SCRIPT_FILENAME="status.php" \
|
||||
cgi-fcgi -bind -connect "{{ $ncURL }}" | grep -q '"installed":true';
|
||||
do
|
||||
echo "Waiting Nextcloud [{{ $ncURL }}] to be ready and installed..."
|
||||
sleep 3
|
||||
done
|
||||
|
||||
echo "Nextcloud is ready and installed..."
|
||||
echo "Starting Nginx..."
|
||||
{{- end -}}
|
|
@ -1,57 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "tc.v1.common.loader.init" . -}}
|
||||
|
||||
{{/* Render configmaps for all pods */}}
|
||||
{{- $configmaps := include "nextcloud.configmaps" . | fromYaml -}}
|
||||
{{- if $configmaps -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.configmap $configmaps -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Add [init perms] container to nextcloud */}}
|
||||
{{- if not (get .Values.workload.main.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $initPerms := (include "nextcloud.init.perms" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.main.podSpec.initContainers "init-perms" $initPerms -}}
|
||||
|
||||
{{/* Add [wait nextcloud] container to nginx */}}
|
||||
{{- if not (get .Values.workload.nginx.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.nginx.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
|
||||
{{/* Disable [notify push] if requested */}}
|
||||
{{- if not .Values.nextcloud.notify_push.enabled -}}
|
||||
{{- $_ := set .Values.workload.notify "enabled" false -}}
|
||||
{{- $_ := set .Values.service.notify "enabled" false -}}
|
||||
{{- else -}}
|
||||
{{/* Add [wait nextcloud] container to notify push */}}
|
||||
{{- if not (get .Values.workload.notify.podSpec "initContainers") -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec "initContainers" dict -}}
|
||||
{{- end -}}
|
||||
{{- $waitNextcloud := (include "nextcloud.wait.nextcloud" . | fromYaml) -}}
|
||||
{{- $_ := set .Values.workload.notify.podSpec.initContainers "wait-nextcloud" $waitNextcloud -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [clamav] if requested */}}
|
||||
{{- if not .Values.nextcloud.clamav.enabled -}}
|
||||
{{- $_ := set .Values.workload.clamav "enabled" false -}}
|
||||
{{- $_ := set .Values.service.clamav "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Disable [previews] if requested */}}
|
||||
{{- if or (not .Values.nextcloud.previews.imaginary) (not .Values.nextcloud.previews.enabled) -}}
|
||||
{{- $_ := set .Values.workload.imaginary "enabled" false -}}
|
||||
{{- $_ := set .Values.service.imaginary "enabled" false -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Create [cronjobs] defined */}}
|
||||
{{- $cronjobs := include "nextcloud.cronjobs" . | fromYaml -}}
|
||||
{{- if $cronjobs -}}
|
||||
{{- $_ := mustMergeOverwrite .Values.workload $cronjobs -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{- include "tc.v1.common.loader.apply" . -}}
|
|
@ -1,50 +0,0 @@
|
|||
**Important:**
|
||||
*for the complete changelog, please refer to the website*
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.2](https://github.com/truecharts/charts/compare/nextcloud-20.0.1...nextcloud-20.0.2) (2023-06-17)
|
||||
|
||||
### Fix
|
||||
|
||||
- make sure no port is added in the trusted domains ([#9731](https://github.com/truecharts/charts/issues/9731))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.1](https://github.com/truecharts/charts/compare/nextcloud-20.0.0...nextcloud-20.0.1) (2023-06-17)
|
||||
|
||||
### Fix
|
||||
|
||||
- Correctly make use of accessIP when no ingress is enabled ([#9720](https://github.com/truecharts/charts/issues/9720))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-06-16)
|
||||
|
||||
### Feat
|
||||
|
||||
- BREAKING CHANGE - rework fully ([#9169](https://github.com/truecharts/charts/issues/9169))
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
||||
|
||||
|
||||
|
||||
## [nextcloud-20.0.0](https://github.com/truecharts/charts/compare/nextcloud-19.0.52...nextcloud-20.0.0) (2023-05-24)
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: "2.0.0"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 12.14.1
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://deps.truecharts.org
|
||||
version: 6.0.48
|
||||
deprecated: false
|
||||
description: A private cloud server that puts the control and security of your own data back into your hands.
|
||||
home: https://truecharts.org/charts/incubator/nextcloud
|
||||
icon: https://truecharts.org/img/hotlink-ok/chart-icons/nextcloud.png
|
||||
keywords:
|
||||
- nextcloud
|
||||
- storage
|
||||
- http
|
||||
- web
|
||||
- php
|
||||
kubeVersion: ">=1.16.0-0"
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: https://truecharts.org
|
||||
name: nextcloud
|
||||
sources:
|
||||
- https://github.com/truecharts/charts/tree/master/charts/incubator/nextcloud
|
||||
- https://github.com/nextcloud/docker
|
||||
- https://github.com/nextcloud/helm
|
||||
type: application
|
||||
version: 20.0.2
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- cloud
|
||||
truecharts.org/SCALE-support: "true"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue