This guide will help you build and run Sakai from source on your local machine. Perfect for developers, administrators evaluating Sakai, or anyone wanting to explore the platform.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sakaiproject/sakai/llms.txt
Use this file to discover all available pages before exploring further.
For production deployments, see the Installation Guide. This quick start is designed for development and testing environments.
Prerequisites
Before you begin, ensure you have the following installed:Java Development Kit 17
Sakai requires Java 17. We recommend Eclipse Temurin (formerly AdoptOpenJDK).Should output Java 17 or higher.
Apache Tomcat 9
Download Tomcat 9 from tomcat.apache.orgExtract to a directory like
/opt/tomcat9 or C:\tomcat9Build Sakai from Source
Clone the Sakai repository and build it:Configure Tomcat
Sakai requires specific Tomcat configuration:Set Environment Variables
Create or edit Source:
setenv.sh (Linux/Mac) or setenv.bat (Windows) in Tomcat’s bin/ directory:docker/tomcat/bin/setenv.sh:3-19Setup Database
- Docker (Quick)
- Native Install
Use Docker to run MariaDB quickly:Source:
docker/README.md:93-98Deploy to Tomcat
Deploy Sakai
From the Sakai source directory:Replace
/path/to/tomcat with your Tomcat installation directory.Source: README.md:31-32First Steps in Sakai
After logging in, try these activities:Create a Site
Navigate to Sites → New Site to create your first course or project site
Add Tools
In your site, click Site Info → Manage Tools to add Assignments, Gradebook, Forums, etc.
Create Content
Use the Resources tool to upload files and organize course materials
Add Users
Go to Sites → Membership to add participants to your site
Development Workflow
If you’re developing Sakai tools or features:Frontend Development
For web component development:AGENTS.md:12-15
Docker Quick Start
Alternative: Run Sakai with Docker:docker/README.md:33-39, docker/README.md:93-98, docker/README.md:112
Troubleshooting
OutOfMemoryError
OutOfMemoryError
Increase heap memory in
setenv.sh:Database Connection Errors
Database Connection Errors
Verify database is running:Check
sakai.properties has correct credentials.Port 8080 Already in Use
Port 8080 Already in Use
Either stop the conflicting service or change Tomcat’s port in
server.xml:Build Failures
Build Failures
Clean Maven cache and rebuild:
Next Steps
Architecture Guide
Understand Sakai’s layered architecture and design patterns
Installation Guide
Deploy Sakai for production use
Development Guide
Set up a complete development environment
API Documentation
Explore Sakai’s Java APIs and REST endpoints