Required Variables
These variables must be set for the application to start successfully.PostgreSQL connection URL. Supports both JDBC format and Prisma format.Examples:
- JDBC:
jdbc:postgresql://localhost:5432/daily_scrum - Prisma:
postgresql://user:pass@localhost:5432/daily_scrum?schema=public
Secret key used to sign JWT access tokens. Must be at least 32 characters long.Example:
your_jwt_secret_key_min_32_charsURL of the frontend application. Used for CORS configuration and OAuth2 redirects.Examples:
- Development:
http://localhost:5173 - Production:
https://dailytracker.com.br
OAuth2 Client ID from Google Cloud Console. Required for Google Sign-In functionality.Get this from the Google Cloud Console under “APIs & Services” > “Credentials”.
OAuth2 Client Secret from Google Cloud Console. Works together with
GOOGLE_CLIENT_ID.Secret key used for AES encryption of sensitive data (like Gemini API keys stored in the database).
Optional Variables
These variables have default values and can be customized as needed.Port number where the server will listen for HTTP requests.Example:
PORT=8080Configuration Summary
Application Configuration
Beyond environment variables, the application has additional configuration inapplication.yaml:
JWT Token Expiration
- Access Token: 24 hours (86400000 ms)
- Refresh Token: 30 days (2592000000 ms)
Database Connection Pool
- Maximum Pool Size: 5 connections
- Minimum Idle: 1 connection
- Connection Timeout: 20 seconds
- Idle Timeout: 5 minutes
Hibernate Configuration
- DDL Auto:
validate(does not create or modify tables) - Dialect: PostgreSQL
- Naming Strategy: Standard (preserves PascalCase table names)
Flyway Configuration
- Baseline on Migrate: Enabled
- Baseline Version: 0
- Migration Location:
classpath:db/migration
The application uses Flyway for database migrations. See the Database Setup guide for more details.
Security Best Practices
Generate Strong Secrets
Generate Strong Secrets
Use cryptographically secure random strings for all secret variables:
Never Commit Secrets
Never Commit Secrets
- Add
.envfiles to.gitignore - Use environment variable management tools in production
- Rotate secrets regularly
Use Different Secrets per Environment
Use Different Secrets per Environment
Development, staging, and production should each have their own unique secrets to prevent cross-environment security issues.
Related Documentation
Database Setup
Configure PostgreSQL and run migrations
Deployment
Deploy with Docker and Render