Template Repository to easily create your own Eduroots instance for your mosque
- Click "Use this template" at the top of this page
- Name your repository:
eduroots-mosque-[name] - Clone your new repository
- Follow the deployment guide: README-DEPLOYMENT.md
Eduroots is an educational management platform designed specifically for mosques and Islamic educational institutions. It enables:
- Student Management: Registration, profiles, courses
- Attendance Tracking: Automated attendance system
- Behavior Assessment: Educational notes and comments
- Grade Management: Tests and report cards
- Family Communication: Parent/teacher interface
- Dashboard: Statistics and analytics
- Frontend: Next.js 15 with TypeScript
- Backend: Supabase (PostgreSQL + Auth + API)
- Deployment: Docker with Traefik (automatic SSL)
- Authentication: Google OAuth + internal system
-
Clone the repository
git clone https://github.com/your-org/eduroots-mosque-name.git cd eduroots-mosque-name -
Configure environment variables
cp .env.example .env
-
Edit
.envwith your values:# Database POSTGRES_DB=eduroots POSTGRES_PASSWORD=your_strong_password # Authentication JWT_SECRET=your_jwt_secret_key GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret # Instance INSTANCE_NAME=mosque-name DOMAIN=localhost # or your domain in production
# Build and launch all services
docker compose up -d
# Verify all services are ready
docker compose psOnce deployment is complete (2-3 minutes), you have access to:
| Service | URL | Description |
|---|---|---|
| Application | https://localhost/ |
Main Eduroots interface |
| Supabase Studio | http://localhost:8080 |
Database administration interface |
| Auth API | https://localhost/auth/ |
Authentication endpoints |
| REST API | https://localhost/rest/v1/ |
Data REST API |
- Access the application:
https://localhost/ - Sign in with your configured Google account
- Access Studio:
http://localhost:8080to manage the database
Supabase Studio (http://localhost:8080) allows you to:
- π View and modify your data
- π Manage authentication and users
- π Write and execute SQL queries
- π§ Configure RLS (Row Level Security) policies
- π View usage statistics
# View logs
docker compose logs -f
# Restart a service
docker compose restart [service-name]
# Stop all services
docker compose down
# Remove volumes (β οΈ deletes data)
docker compose down -v
# Update services
docker compose pull
docker compose up -dFor production deployment:
- Replace
DOMAIN=localhostwith your domain - Configure SSL certificates (Traefik handles this automatically)
- Backup Docker volumes regularly
- Monitor logs:
docker compose logs -f
- Docker and Docker Compose
- Google OAuth account for authentication
- Domain (for production)
- VPS or server (for production)
- Documentation: README-DEPLOYMENT.md
- Issues: Use the Issues tab on GitHub
- Email: [your-email@domain.com]
- Multi-factor authentication
- Data encryption
- RLS (Row Level Security) policies
- Automatic SSL/TLS
Each mosque has its own completely independent instance:
- Separate database
- Isolated authentication
- Private and secure data
# Check service status
docker compose ps
# View logs in real-time
docker compose logs -f
# Restart all services
docker compose restartIf you see warnings like variable is not set:
- Check that
.envexists - Verify all required variables are defined
- Restart:
docker compose down && docker compose up -d
# Remove volumes and restart
docker compose down -v
docker compose up -d# Check which ports are in use
sudo netstat -tulpn | grep :8080
sudo netstat -tulpn | grep :443
# Stop services using these ports
sudo systemctl stop nginx # example# Check that Studio is running
docker compose logs studio
# Restart Studio
docker compose restart studio
# Wait 30 seconds then test
curl -I http://localhost:8080In local development, accept self-signed certificates in your browser.
This project is licensed under AGPL.
- Use this template β Create your repository
- Clone your repository:
git clone https://github.com/your-org/eduroots-mosque-name.git - Configure
.envwith your values - Run
docker compose up -d - Wait 2-3 minutes for all services to start
Once deployment is complete:
- π Main Application:
http://localhost/ - ποΈ Database Admin:
http://localhost:8080 - π Auth API:
https://localhost/auth/ - π REST API:
https://localhost/rest/v1/
π Your Eduroots instance is ready!