Deploying RosarioSIS
Introduction
RosarioSIS is a free, open-source student information system designed for schools of all sizes. From elementary schools to high schools, RosarioSIS provides comprehensive tools for managing student demographics, attendance, grades, scheduling, and reporting.
Key highlights of RosarioSIS:
- Student Management: Complete student demographic and enrollment tracking
- Attendance Tracking: Daily and period-based attendance with reporting
- Gradebook: Full-featured gradebook with multiple grading scales
- Scheduling: Course scheduling and timetable management
- Report Cards: Customizable report card generation
- Discipline Tracking: Incident and behavior management
- Food Service: Cafeteria management integration
- Eligibility: Activity eligibility tracking
- Parent Portal: Parent access to student information
- Multi-Language: Available in multiple languages
- Open Source: GPL-2.0 licensed with active development
This guide walks through deploying RosarioSIS on Klutch.sh using Docker for your school or educational institution.
Why Deploy RosarioSIS on Klutch.sh
Deploying RosarioSIS on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically builds and deploys RosarioSIS without complex server configuration.
Persistent Storage: Attach persistent volumes for student records and documents that survive container restarts.
HTTPS by Default: Klutch.sh provides automatic SSL for secure access to student information.
Always-On Availability: Your SIS remains accessible 24/7 for teachers, parents, and administrators.
Environment Variable Management: Securely store database credentials through Klutch.sh.
Prerequisites
Before deploying RosarioSIS on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your RosarioSIS configuration
- An external PostgreSQL database
- Basic familiarity with Docker
Preparing Your Repository
Create a GitHub repository containing your Dockerfile for RosarioSIS deployment.
Repository Structure
rosariosis-deploy/├── Dockerfile└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM rosariosis/rosariosis:latest
# Set environment variablesENV ROSARIOSIS_DB_HOST=${ROSARIOSIS_DB_HOST}ENV ROSARIOSIS_DB_PORT=${ROSARIOSIS_DB_PORT:-5432}ENV ROSARIOSIS_DB_NAME=${ROSARIOSIS_DB_NAME:-rosariosis}ENV ROSARIOSIS_DB_USER=${ROSARIOSIS_DB_USER}ENV ROSARIOSIS_DB_PASSWORD=${ROSARIOSIS_DB_PASSWORD}ENV ROSARIOSIS_LANG=${ROSARIOSIS_LANG:-en_US}
# Create necessary directoriesRUN mkdir -p /var/www/html/files
# Expose the web interface portEXPOSE 80
# The base image includes the default entrypointEnvironment Variables Reference
| Variable | Required | Description |
|---|---|---|
ROSARIOSIS_DB_HOST | Yes | PostgreSQL host address |
ROSARIOSIS_DB_PORT | No | Database port (default: 5432) |
ROSARIOSIS_DB_NAME | No | Database name (default: rosariosis) |
ROSARIOSIS_DB_USER | Yes | Database username |
ROSARIOSIS_DB_PASSWORD | Yes | Database password |
ROSARIOSIS_LANG | No | Language (default: en_US) |
Deploying RosarioSIS on Klutch.sh
- Select HTTP as the traffic type
- Set the internal port to 80
- Username:
admin - Password:
admin
Push Your Repository to GitHub
Commit and push your Dockerfile to GitHub.
Create a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project with a descriptive name like “rosariosis” or “school-sis”.
Create a New App
Within your project, create a new app. Connect your GitHub account and select the repository containing your RosarioSIS Dockerfile.
Configure HTTP Traffic
In the deployment settings:
Set Environment Variables
Add the following environment variables:
| Variable | Value |
|---|---|
ROSARIOSIS_DB_HOST | Your PostgreSQL host |
ROSARIOSIS_DB_USER | Your database user |
ROSARIOSIS_DB_PASSWORD | Your database password |
ROSARIOSIS_DB_NAME | rosariosis |
Attach Persistent Volumes
Add the following volume:
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/var/www/html/files | 10 GB | Uploaded files and documents |
Deploy Your Application
Click Deploy to start the build process.
Access RosarioSIS
Once deployment completes, access RosarioSIS at your app URL. Default credentials:
Change these immediately after first login.
Initial Configuration
School Setup
- Navigate to School Setup > Schools
- Configure your school information
- Set up grading periods (marking periods, semesters)
- Configure school calendar
User Management
- Go to Users > User Accounts
- Create administrator accounts
- Set up teacher accounts
- Configure staff permissions
Student Enrollment
- Navigate to Students > Add a Student
- Enter student demographic information
- Assign to appropriate grade level
- Complete enrollment forms
Course Setup
- Go to Scheduling > Courses
- Create courses and sections
- Assign teachers to courses
- Set up course schedules
Gradebook Configuration
- Navigate to Grades > Gradebook Configuration
- Set up grading scales
- Configure grade categories
- Customize report card templates
Parent/Student Portal
- Generate portal login credentials for parents
- Parents can view grades, attendance, and schedules
- Configure portal access permissions
Additional Resources
Conclusion
Deploying RosarioSIS on Klutch.sh gives your school a comprehensive student information system with automatic builds, persistent storage, and secure HTTPS access. With its complete feature set covering attendance, grades, scheduling, and reporting, RosarioSIS on Klutch.sh provides everything a school needs to manage student information effectively.