Skip to main content

Configuration

One .env file, read at container start. Real environment variables win over the file.

Database​

Variable
DB_NAMEDatabase name (hridasign)
DB_USERNAME / DB_PASSWORDCredentials
POSTGRES_HOSTServer host (hrida-postgres in the bundled compose)
SPRING_DATASOURCE_URLOverrides the assembled JDBC URL if set

Schema is managed by Hibernate ddl-auto — set it to validate for production once the schema is stable.

App & CORS​

Variable
APP_URLPublic origin — used to build the deep-links in invitation and OTP emails. https://sign.hrida.ai in production. Republished as APP_BASE_URL / APP_FRONTEND_BASE_URL / FRONTEND_URL.
CORS_ALLOWED_ORIGINSComma-separated allow-list of browser origins
FILE_UPLOAD_DIRBase directory for uploads (a Docker volume)

Auth & security​

Variable
JWT_SECRETSigns session tokens. Long random string, never reused across environments.
ADMIN_SETUP_KEYRequired to register the first platform admin

Email — required​

Variable
MAIL_HOST / MAIL_PORTSMTP server (smtp.gmail.com / 587)
MAIL_USERNAME / MAIL_PASSWORDCredentials — Gmail needs an App Password
MAIL_FROMDefault From address
CONTACT_TEAM_EMAILWhere contact-form submissions go

Optional integrations​

FeatureVariables
Cloudinary storageCLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, CLOUDINARY_API_SECRET
OpenAI — AI PDF toolsOPENAI_API_KEY, OPENAI_OCR_MODEL (gpt-4.1-mini), OPENAI_API_URL
Razorpay — paymentsRAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET, RAZORPAY_WEBHOOK_SECRET

Leaving an integration's variables empty disables that feature — the app runs without any of them.

Ports​

EnvironmentFrontendAPIDatabase
Docker127.0.0.1:8084 → 8080 (one container)sameexternal hrida-postgres
Local dev5173 (Vite)80805432
Hrida.ai is proprietary software of Zlabs Innovation. See the license for terms. © 2026 Zlabs Innovation.