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:541b044d439e9790623405409ab57c92810def8a1e701b5f4f7d4f9421e7240a image: pullPolicy: IfNotPresent repository: reallibrephotos/librephotos tag: latest@sha256:3ded92c9ba78c238c2837841f394d86d7246ffb082dae6ad54127383d4022156 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:b45c74482bc409b113fcb7519beb9acb646e6d24bc36fed69afd3df39a0aa8e3 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