spring: datasource: url: ${DB_URL:jdbc:postgresql://master:30432/aiteacher} username: ${DB_USERNAME:user} password: ${DB_PASSWORD:password} driver-class-name: org.postgresql.Driver jpa: hibernate: ddl-auto: update show-sql: false properties: hibernate: format_sql: false dialect: org.hibernate.dialect.PostgreSQLDialect open-in-view: false flyway: enabled: true locations: classpath:db/migration ai: vectorstore: pgvector: dimensions: 1536 distance-type: COSINE_DISTANCE index-type: HNSW initialize-schema: false openai: api-key: ${OPENAI_API_KEY:} chat: options: model: gpt-4o-mini embedding: options: model: "text-embedding-3-small" servlet: multipart: max-file-size: 100MB max-request-size: 100MB task: execution: pool: core-size: 4 max-size: 8 queue-capacity: 50 logging: level: "[org.apache.pdfbox]": ERROR app: features: upload-enabled: ${UPLOAD_ENABLED:true} delete-enabled: ${DELETE_ENABLED:true} auth: username: ${APP_AUTH_USERNAME:neurosurgeon} password: ${APP_PASSWORD:changeme} figure-storage: endpoint: ${S3_ENDPOINT:https://s3.immich-ad.ovh} region: ${S3_REGION:garage} bucket: ${S3_BUCKET:aiteacher} access-key-id: ${S3_ACCESS_KEY_ID:} secret-access-key: ${S3_SECRET_ACCESS_KEY:} min-image-size-px: 100 embedding: batch-size: 20 batch-delay-ms: 2000 skip-embedding: false marker: base-url: ${MARKER_BASE_URL:http://192.168.1.105:8000} vision: min-interval-ms: ${VISION_MIN_INTERVAL_MS:2000}