Configurations
Configuration
Configure your Journiv instance for optimal performance and security.
Journiv can be configured using environment variables. All configurations are optional except SECRET_KEY and DOMAIN_NAME, which are required for Journiv to run.
Environment Variables
Complete reference of all environment variables
Database Setup
Configure SQLite or PostgreSQL
Security
Security settings and best practices
User Management
Manage users, roles, and permissions
Quick Configuration
Minimal required configuration:
SECRET_KEY=your-secret-key-here
DOMAIN_NAME=your-server-ip-or-domainGenerate a secure SECRET_KEY:
openssl rand -base64 32Common Configurations
Development
SECRET_KEY=dev-secret-key-change-in-production
DOMAIN_NAME=localhost
LOG_LEVEL=DEBUG
DEBUG=true
ENVIRONMENT=developmentProduction
SECRET_KEY=strong-production-secret-key-min-32-chars
DOMAIN_NAME=journiv.example.com
LOG_LEVEL=INFO
DEBUG=false
ENVIRONMENT=production
DISABLE_SIGNUP=false
MAX_FILE_SIZE_MB=50Production with PostgreSQL
SECRET_KEY=strong-production-secret-key
DOMAIN_NAME=journiv.example.com
DATABASE_URL=postgresql://user:password@localhost:5432/journiv
LOG_LEVEL=INFO
ENVIRONMENT=production
DEBUG=falseConfiguration Methods
Docker
Set environment variables in docker run:
docker run -d \
-e SECRET_KEY=your-secret-key \
-e DOMAIN_NAME=192.168.1.1 \
...Docker Compose
Use environment section or .env file:
services:
journiv:
environment:
- SECRET_KEY=${SECRET_KEY}
- DOMAIN_NAME=${DOMAIN_NAME}
env_file:
- .envManual Installation
Create a .env file in the journiv-backend directory:
SECRET_KEY=your-secret-key
DOMAIN_NAME=localhostConfiguration Categories
Required Settings
SECRET_KEY- Secret key for JWT token signingDOMAIN_NAME- Server IP or domain name
Database Configuration
DATABASE_URL- Database connection string- PostgreSQL-specific variables (if not using
DATABASE_URL)
Application Settings
ENVIRONMENT- Environment mode (development/production)DEBUG- Enable debug modeLOG_LEVEL- Logging verbosity
Security Settings
DISABLE_SIGNUP- Disable user registrationACCESS_TOKEN_EXPIRE_MINUTES- Access token expiryREFRESH_TOKEN_EXPIRE_DAYS- Refresh token expiry
Storage Configuration
MEDIA_ROOT- Media storage directoryLOG_DIR- Log directoryMAX_FILE_SIZE_MB- Maximum file upload size
OIDC/SSO Configuration
OIDC_ENABLED- Enable OIDC authenticationOIDC_ISSUER- OIDC provider issuer URLOIDC_CLIENT_ID- OIDC client IDOIDC_CLIENT_SECRET- OIDC client secretOIDC_REDIRECT_URI- OIDC redirect URI
See Environment Variables for complete reference.
Next Steps
After configuration:
- Set Up HTTPS - Configure reverse proxy for secure access
- Configure Database - Set up PostgreSQL for production
- Security Hardening - Review security best practices
- Backup Strategy - Set up regular backups
- Monitoring - Configure logging and monitoring
Getting Help
Need help with configuration?
- Check Environment Variables for detailed options
- Review Security Guide for best practices
- Join Discord for community support
- Open an issue on GitHub