Configuration overview
Paideia LMS uses environment variables as the primary method for configuration. This approach provides flexibility and security, allowing you to configure your LMS instance without modifying code files. Whether you’re setting up a new installation or customizing an existing one, understanding Paideia LMS’s configuration approach will help you get the most out of your system.
The guides in this “Configuration” section will help you familiarize yourself with the various configuration options available for your Paideia LMS installation, from basic system settings to advanced integrations.
If this is your first Paideia LMS installation, or if it’s been a while since you’ve configured a new instance, use the following guides and references in the documentation for assistance.
System Configuration
Section titled “System Configuration”Paideia LMS uses environment variables for all system configuration instead of a config file. This approach provides several benefits:
- Security: Sensitive credentials are kept separate from code
- Flexibility: Easy to configure different settings for different environments
- Simplicity: No need to edit code files to change configuration
All configuration is done through environment variables that you set in your hosting environment or in a .env file. The most important configuration areas include:
- Database: PostgreSQL connection settings
- Storage: S3-compatible storage for course files and media
- Email: SMTP or Resend configuration for notifications
- Security: CORS settings, encryption secrets, and security policies
- Ports: Backend API and frontend port configuration
Initial Setup Tasks
Section titled “Initial Setup Tasks”After installing Paideia LMS, you’ll need to configure several essential components before you can start using the system. These initial setup tasks are critical for getting your LMS running properly.
Configure Database Connection
Section titled “Configure Database Connection”Paideia LMS requires a PostgreSQL database. Set up your database connection using the DATABASE_URL environment variable:
DATABASE_URL=postgresql://user:password@localhost:5432/paideia_dbFor production deployments, ensure your database is properly secured with strong passwords and network restrictions.
Set Up File Storage
Section titled “Set Up File Storage”Paideia LMS uses S3-compatible storage for course files, media assets, and user uploads. Configure your storage using these environment variables:
S3_URL=http://localhost:9000S3_ACCESS_KEY=your-access-keyS3_SECRET_KEY=your-secret-keyS3_BUCKET=paideia-bucketS3_REGION=us-east-1You can use MinIO for local development or any S3-compatible service (AWS S3, DigitalOcean Spaces, etc.) for production.
Configure Email Service
Section titled “Configure Email Service”Email notifications are essential for user registration, password resets, and course updates. Configure either SMTP or Resend:
SMTP Configuration:
SMTP_HOST=smtp.example.comSMTP_USER=your-email@example.comSMTP_PASS=your-passwordEMAIL_FROM_ADDRESS=info@paideialms.comEMAIL_FROM_NAME=Paideia LMSResend Configuration:
RESEND_API_KEY=your-resend-api-keyEMAIL_FROM_ADDRESS=info@paideialms.comEMAIL_FROM_NAME=Paideia LMSSet Up Security
Section titled “Set Up Security”Security configuration is crucial for production deployments:
# Generate a secure random string for PAYLOAD_SECRETPAYLOAD_SECRET=your-secure-random-string
# Configure CORS for your domain(s)CORS_ORIGINS=https://yourdomain.com,https://www.yourdomain.comCommon Post-Installation Tasks
Section titled “Common Post-Installation Tasks”Once your Paideia LMS installation is running with basic configuration, here are some common tasks you might want to perform:
Create Admin Account
Section titled “Create Admin Account”On first access, you’ll be prompted to create an admin account. This account will have full administrative privileges to manage your LMS instance.
Configure Integrations
Section titled “Configure Integrations”Paideia LMS supports several integrations that can enhance your system:
- Microsoft Integration: Set up Microsoft Teams, OneDrive, and Office 365 integration for seamless collaboration
- LTI Support: Configure Learning Tools Interoperability for connecting external educational tools
- AI Features: Enable and configure AI-native capabilities for enhanced learning experiences
Set Up User Management
Section titled “Set Up User Management”Configure user roles and permissions to match your institution’s needs:
- Define roles (admin, instructor, student, TA, etc.)
- Set up permissions for different user types
- Configure enrollment policies
- Set up course categories and organization
Configure Course Settings
Section titled “Configure Course Settings”Before creating your first course, you may want to configure:
- Course categories and organization
- Default course settings
- Assignment and quiz defaults
- Gradebook configuration
Customize Appearance
Section titled “Customize Appearance”Paideia LMS uses React with Mantine components, providing a modern, customizable UI. You can customize:
- Branding and appearance
- Color schemes and themes
- Logo and favicon
- Custom CSS if needed
Set Up Monitoring and Backups
Section titled “Set Up Monitoring and Backups”For production deployments:
- Configure database backups
- Set up monitoring and logging
- Configure health checks
- Set up alerts for system issues
Enable HTTPS
Section titled “Enable HTTPS”For production, configure a reverse proxy (nginx, Traefik, etc.) to provide HTTPS encryption. This is essential for security and user trust.
