spring.application.name=trekr # ============================ # JPA & Hibernate # ============================ # NOTE: On some managed PostgreSQL providers the app user cannot read pg_catalog views # like pg_settings. Hibernate schema migration/metadata introspection can trigger that # access during startup (e.g., when ddl-auto=update). # # Default to no automatic DDL. Override locally if your DB user has sufficient rights: # export SPRING_JPA_HIBERNATE_DDL_AUTO=update spring.jpa.hibernate.ddl-auto=${SPRING_JPA_HIBERNATE_DDL_AUTO:none} spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.show-sql=false spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.default_schema=trekr spring.jpa.properties.hibernate.hbm2ddl.create_namespaces=true # Avoid JDBC metadata access on boot (further reduces pg_catalog permission requirements) spring.jpa.properties.hibernate.boot.allow_jdbc_metadata_access=false # ============================ # PostgreSQL connection (loaded from backend/.env or backend/env) # ============================ spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=${SPRING_DATASOURCE_URL} spring.datasource.username=${SPRING_DATASOURCE_USERNAME} spring.datasource.password=${SPRING_DATASOURCE_PASSWORD} # ============================ # JWT Configuration (supports JWT_SECRET or JWT_CONFIG_SECRET) # ============================ jwt.secret=${JWT_SECRET:${JWT_CONFIG_SECRET:dev-fallback-secret-min-32-chars-required}} # ============================ # Logging # ============================ logging.level.org.springframework.security=DEBUG # ============================ # HikariCP # ============================ spring.datasource.hikari.pool-name=trekrHikariPool # Remote PostgreSQL (especially via SSH tunnel) often has a small max_connections. # Use a slightly larger default so the app can serve more concurrent users without # overloading the database; override via env if your provider has tighter limits. spring.datasource.hikari.maximum-pool-size=${SPRING_DATASOURCE_HIKARI_MAX_POOL_SIZE:20} spring.datasource.hikari.minimum-idle=${SPRING_DATASOURCE_HIKARI_MIN_IDLE:5} spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.idle-timeout=600000 spring.datasource.hikari.max-lifetime=1800000 # Max multipart parts server.tomcat.max-part-count=50