Deployment Overview
Sakai LMS can be deployed using multiple approaches depending on your infrastructure needs. This guide covers the primary deployment methods.Deployment Methods
Sakai supports two main deployment approaches:- Docker Deployment - Containerized deployment for modern infrastructure
- Traditional Tomcat Deployment - Classic Java application server deployment
System Requirements
Minimum Requirements
- Java: Java 17 (Java 11 for Sakai 22 and 23)
- Application Server: Apache Tomcat 9
- Database: MySQL 8.x, MariaDB 10.x, Oracle 12c+, or HSQLDB (development only)
- Memory: Minimum 2GB RAM for Tomcat
- Disk Space: 10GB+ for application and content storage
Docker Deployment
Docker deployment provides a containerized, reproducible environment for Sakai.Building from Source
Build Sakai Image
Navigate to the docker directory and build from source:For a specific branch or tag:
Start Database Container
Sakai requires a database. Start MariaDB using Docker:This command:
- Maps port 3306 to local port 53306
- Sets root password
- Loads initialization scripts from
mysql/scripts/ - Enables case-insensitive table names
Traditional Tomcat Deployment
For production environments, a traditional Tomcat deployment offers more control.Prerequisites
Download Tomcat
Download Tomcat 9 from Apache Tomcat:
Configure Tomcat Environment
Create Make it executable:
setenv.sh in /opt/tomcat9/bin/ with memory and JVM settings:Post-Deployment Configuration
After deployment, configure Sakai through property files:- Database connection settings
- Server URLs and DNS names
- Email configuration
- Security settings
Deployment Checklist
- Java 17 installed and configured
- Tomcat 9 downloaded (not from package manager)
- Database server running and accessible
- Sakai database and user created
-
sakai.propertiesconfigured with database credentials -
setenv.shconfigured with appropriate memory settings - Firewall rules allow access to port 8080 (or configured port)
- SSL/TLS certificate configured for production
Production Considerations
Next Steps
Configuration
Configure Sakai properties and settings
Database Setup
Set up and configure your database
Security
Secure your Sakai installation
User Management
Manage users and permissions