TrueChartsClone/charts/unstable/librephotos/values.yaml

182 lines
4.8 KiB
YAML

additionalContainers:
frontend:
image: "{{ .Values.frontendImage.repository }}:{{ .Values.frontendImage.tag }}"
name: frontend
proxy:
image: "{{ .Values.proxyImage.repository }}:{{ .Values.proxyImage.tag }}"
name: proxy
ports:
- containerPort: 80
name: main
volumeMounts:
- mountPath: /etc/nginx/nginx.conf
name: librephotos-config
readOnly: true
subPath: nginx-config
- mountPath: /data
name: media
- mountPath: /protected_media
name: protected-media
configmap:
config:
data:
nginx-config: |-
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log debug;
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
# React routes are entirely on the App side in the web broswer
# Always proxy to root with the same page request when nginx 404s
error_page 404 /;
proxy_intercept_errors on;
proxy_set_header Host $host;
proxy_pass http://localhost:3000/;
}
location ~ ^/(api|media)/ {
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host localhost;
include uwsgi_params;
proxy_pass http://localhost:8001;
}
# Django media
location /protected_media {
internal;
alias /protected_media/;
}
location /static/drf-yasg {
proxy_pass http://localhost:8001;
}
location /data {
internal;
alias /data/;
}
# Original Photos
location /original {
internal;
alias /data/;
}
# Nextcloud Original Photos
location /nextcloud_original {
internal;
alias /data/nextcloud_media/;
}
}
}
enabled: true
frontendImage:
repository: reallibrephotos/librephotos-frontend
tag: latest@sha256:4a70c0192e6576a0ef1e088324c88b0ca221cddbe0a7ea0954496e985776b0a8
image:
pullPolicy: IfNotPresent
repository: reallibrephotos/librephotos
tag: latest@sha256:468b066ae5e15fc915ef8a7abc5479496967b9f9d8c51a3c177767a8e831fcd2
persistence:
cache:
enabled: true
mountPath: /root/.cache
librephotos-config:
enabled: "true"
mountPath: /etc/nginx/nginx.conf
subPath: nginx-config
type: custom
volumeSpec:
configMap:
name: '{{ printf "%v-config" (include "tc.common.names.fullname" .) }}'
logs:
enabled: true
mountPath: /logs
media:
enabled: true
mountPath: /data
protected-media:
enabled: true
mountPath: /protected_media
portal:
open:
enabled: true
postgresql:
enabled: true
existingSecret: dbcreds
postgresqlDatabase: librephotos
postgresqlUsername: librephotos
proxyImage:
repository: reallibrephotos/librephotos-proxy
tag: latest@sha256:5135f612865d2f91178aeeae40c3bf7220d541b5c879b9e8e3d6ab858e67ff3a
redis:
enabled: true
existingSecret: rediscreds
redisUsername: default
secretEnv:
ADMIN_EMAIL: admin@mydomain.com
ADMIN_PASSWORD: password
ADMIN_USERNAME: admin
MAPBOX_API_KEY: ""
securityContext:
container:
readOnlyRootFilesystem: false
runAsGroup: 0
runAsNonRoot: false
runAsUser: 0
service:
main:
ports:
main:
port: 10161
targetPort: 80
workload:
main:
podSpec:
containers:
main:
env:
BACKEND_HOST: localhost
DB_BACKEND: postgresql
DB_HOST:
secretKeyRef:
key: plainhost
name: dbcreds
DB_NAME: "{{ .Values.postgresql.postgresqlDatabase }}"
DB_PASS:
secretKeyRef:
key: postgresql-password
name: dbcreds
DB_PORT: "5432"
DB_USER: "{{ .Values.postgresql.postgresqlUsername }}"
DEBUG: false
HEAVYWEIGHT_PROCESS: 1
REDIS_HOST:
secretKeyRef:
key: plainhost
name: rediscreds
REDIS_PASS:
secretKeyRef:
key: redis-password
name: rediscreds
REDIS_PORT: "6379"
SECRET_KEY:
secretKeyRef:
key: SECRET_KEY
name: librephotos-secrets
SKIP_PATTERNS: ""
WEB_CONCURRENCY: 2
probes:
liveness:
path: /login
readiness:
path: /login
startup:
path: /login