Skip to content

Configuration

Moo has dev, test, and prod Spring profiles under src/main/resources/. Select a profile explicitly when starting the application.

Security values

Variable Purpose Default
JWT_SECRET HMAC signing secret; use at least 32 random bytes Required outside tests
JWT_EXPIRATION Access-token lifetime in milliseconds 900000
JWT_REFRESH_EXPIRATION Refresh-token lifetime in milliseconds 604800000

Production database

The production profile reads:

  • MYSQL_DB_HOST
  • MYSQL_DB_PORT
  • MYSQL_DB_NAME
  • MYSQL_DB_UNAME
  • MYSQL_DB_PASSWD

The development profile uses MySQL on localhost:3306 with the local Compose credentials. Tests use an in-memory H2 database in MySQL compatibility mode.

API documentation

Springdoc serves /v3/api-docs and /swagger-ui/index.html outside the production profile. Production disables both endpoints; the generated public reference is available from this documentation site.