mirror of
https://github.com/rtomik/helm-charts.git
synced 2026-04-05 17:50:38 +00:00
268 lines
5.8 KiB
YAML
268 lines
5.8 KiB
YAML
## Global settings
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
## Image settings
|
|
image:
|
|
repository: joplin/server
|
|
tag: "3.4.2"
|
|
pullPolicy: IfNotPresent
|
|
|
|
## Deployment settings
|
|
replicaCount: 1
|
|
revisionHistoryLimit: 3
|
|
|
|
# Pod security settings
|
|
podSecurityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 1001
|
|
fsGroup: 1001
|
|
|
|
containerSecurityContext:
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: false
|
|
capabilities:
|
|
drop:
|
|
- ALL
|
|
|
|
## Pod scheduling
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
## Service settings
|
|
service:
|
|
type: ClusterIP
|
|
port: 22300
|
|
|
|
## Ingress settings
|
|
ingress:
|
|
enabled: false
|
|
className: ""
|
|
annotations:
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
hosts:
|
|
- host: joplin.domain.com
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
tls:
|
|
- hosts:
|
|
- joplin.domain.com
|
|
|
|
## Resource limits and requests
|
|
# resources:
|
|
# limits:
|
|
# cpu: 500m
|
|
# memory: 512Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 256Mi
|
|
|
|
## Application health checks
|
|
probes:
|
|
liveness:
|
|
enabled: true
|
|
initialDelaySeconds: 60
|
|
periodSeconds: 30
|
|
timeoutSeconds: 10
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
path: /api/ping
|
|
# Host header for health checks to bypass origin validation
|
|
# Update this to match your actual domain
|
|
httpHeaders:
|
|
- name: Host
|
|
value: joplin.domain.com
|
|
readiness:
|
|
enabled: true
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|
|
timeoutSeconds: 5
|
|
failureThreshold: 3
|
|
successThreshold: 1
|
|
path: /api/ping
|
|
# Host header for health checks to bypass origin validation
|
|
# Update this to match your actual domain
|
|
httpHeaders:
|
|
- name: Host
|
|
value: joplin.domain.com
|
|
|
|
## Autoscaling configuration
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 3
|
|
targetCPUUtilizationPercentage: 80
|
|
targetMemoryUtilizationPercentage: 80
|
|
|
|
## Environment variables
|
|
env:
|
|
# Application Settings
|
|
APP_PORT: "22300"
|
|
APP_BASE_URL: "http://localhost:22300"
|
|
|
|
# Database Settings (PostgreSQL required)
|
|
DB_CLIENT: "pg"
|
|
|
|
# Extra environment variables (for advanced use cases)
|
|
extraEnv: []
|
|
|
|
# Extra volume mounts
|
|
extraVolumeMounts: []
|
|
|
|
# Extra volumes
|
|
extraVolumes: []
|
|
|
|
## PostgreSQL configuration (External database required)
|
|
postgresql:
|
|
# External PostgreSQL settings (required)
|
|
external:
|
|
enabled: false
|
|
host: ""
|
|
port: 5432
|
|
database: "joplin"
|
|
user: "joplin"
|
|
password: ""
|
|
# Use existing secret for database credentials
|
|
existingSecret: ""
|
|
userKey: "username"
|
|
passwordKey: "password"
|
|
# Optional: only set if host/port/database are also in the secret
|
|
hostKey: ""
|
|
portKey: ""
|
|
databaseKey: ""
|
|
|
|
## Joplin Server Configuration
|
|
joplin:
|
|
# Admin settings
|
|
admin:
|
|
# First admin user email (set during first setup)
|
|
email: ""
|
|
# First admin user password (set during first setup)
|
|
password: ""
|
|
# Use existing secret for admin credentials
|
|
existingSecret: ""
|
|
emailKey: "admin-email"
|
|
passwordKey: "admin-password"
|
|
|
|
# Server settings
|
|
server:
|
|
# Maximum request body size (in bytes)
|
|
maxRequestBodySize: "200mb"
|
|
# Session timeout in seconds
|
|
sessionTimeout: 86400
|
|
# Enable/disable user registration
|
|
enableUserRegistration: false
|
|
# Enable/disable sharing
|
|
enableSharing: true
|
|
# Enable/disable public notes
|
|
enablePublicNotes: true
|
|
|
|
# Storage settings
|
|
storage:
|
|
# Storage driver: database, filesystem, s3, or azure
|
|
driver: "database"
|
|
# For filesystem storage (requires persistence)
|
|
filesystemPath: "/var/lib/joplin"
|
|
# For S3 storage (optional)
|
|
s3:
|
|
bucket: ""
|
|
region: ""
|
|
accessKeyId: ""
|
|
secretAccessKey: ""
|
|
endpoint: ""
|
|
# Use existing secret for S3 credentials
|
|
existingSecret: ""
|
|
accessKeyIdKey: "access-key-id"
|
|
secretAccessKeyKey: "secret-access-key"
|
|
|
|
# Email settings (for user registration and notifications)
|
|
email:
|
|
enabled: false
|
|
host: ""
|
|
port: 587
|
|
username: ""
|
|
password: ""
|
|
fromEmail: ""
|
|
fromName: "Joplin Server"
|
|
# Use TLS/SSL
|
|
secure: true
|
|
# Use existing secret for email credentials
|
|
existingSecret: ""
|
|
usernameKey: "email-username"
|
|
passwordKey: "email-password"
|
|
|
|
# Logging settings
|
|
logging:
|
|
level: "info" # error, warn, info, debug
|
|
target: "console" # console, file
|
|
|
|
## Persistence settings (for filesystem storage)
|
|
persistence:
|
|
enabled: false
|
|
storageClass: ""
|
|
accessMode: ReadWriteOnce
|
|
size: 3Gi
|
|
annotations: {}
|
|
|
|
## Transcribe service (optional AI transcription)
|
|
transcribe:
|
|
enabled: false
|
|
image:
|
|
repository: joplin/transcribe
|
|
tag: "latest"
|
|
pullPolicy: IfNotPresent
|
|
|
|
# Transcribe API settings
|
|
api:
|
|
# Shared secret between Joplin Server and Transcribe service
|
|
key: ""
|
|
# Use existing secret for transcribe API key
|
|
existingSecret: ""
|
|
keyName: "transcribe-api-key"
|
|
|
|
# Transcribe service settings
|
|
service:
|
|
type: ClusterIP
|
|
port: 4567
|
|
|
|
# HTR CLI settings
|
|
htr:
|
|
# Images folder path
|
|
imagesFolder: "/app/images"
|
|
|
|
# Transcribe persistence (for image storage)
|
|
persistence:
|
|
enabled: false
|
|
storageClass: ""
|
|
accessMode: ReadWriteOnce
|
|
size: 5Gi
|
|
annotations: {}
|
|
|
|
# Transcribe database (separate from main Joplin database)
|
|
database:
|
|
host: ""
|
|
port: 5432
|
|
database: "transcribe"
|
|
user: "transcribe"
|
|
password: ""
|
|
# Use existing secret for transcribe database credentials
|
|
existingSecret: ""
|
|
userKey: "username"
|
|
passwordKey: "password"
|
|
hostKey: "host"
|
|
portKey: "port"
|
|
databaseKey: "database"
|
|
|
|
## Security settings
|
|
security:
|
|
# Enable/disable HTTPS redirect
|
|
httpsRedirect: false
|
|
# Custom TLS certificate
|
|
tls:
|
|
enabled: false
|
|
# Use existing secret for TLS certificate
|
|
existingSecret: ""
|
|
certificateKey: "tls.crt"
|
|
privateKeyKey: "tls.key" |