# vibe_erp — production-ish defaults. # # This is the baseline configuration baked into the shipping image. It is # deliberately non-secret: every sensitive value is read from an environment # variable so the same image works for self-hosted and (eventually) hosted # deployments. See architecture spec sections 10 and 11. # # Customer overrides live in /opt/vibe-erp/config/vibe-erp.yaml on the # mounted volume. Plug-in configuration lives in metadata__plugin_config, # never here. # # vibe_erp is single-tenant per instance: one running process serves # exactly one company against an isolated database. There is no # multi-tenancy configuration here, by design. spring: application: name: vibe-erp datasource: url: ${VIBEERP_DB_URL} username: ${VIBEERP_DB_USER} password: ${VIBEERP_DB_PASSWORD} driver-class-name: org.postgresql.Driver jpa: # Liquibase owns the schema; Hibernate must never touch DDL. hibernate: ddl-auto: validate open-in-view: false liquibase: change-log: classpath:db/changelog/master.xml server: port: 8080 shutdown: graceful management: endpoints: web: exposure: include: health,info,prometheus vibeerp: instance: # Display name of the company that owns this instance. Shown in branding, # report headers, and audit logs. There is exactly ONE company per # running instance — provisioning a second customer means deploying a # second instance with its own database. company-name: ${VIBEERP_COMPANY_NAME:vibe_erp instance} security: jwt: # HMAC-SHA256 secret. Must be at least 32 characters in production. # Set the VIBEERP_JWT_SECRET environment variable; the framework # refuses to start if a shorter value is used. secret: ${VIBEERP_JWT_SECRET:} issuer: vibe-erp access-token-ttl: PT15M refresh-token-ttl: P7D plugins: directory: ${VIBEERP_PLUGINS_DIR:/opt/vibe-erp/plugins} auto-load: true i18n: default-locale: en-US fallback-locale: en-US available-locales: en-US,zh-CN,de-DE,ja-JP,es-ES files: backend: local local-path: ${VIBEERP_FILES_DIR:/opt/vibe-erp/files} logging: level: org.vibeerp: INFO org.springframework: WARN