-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Rodan is a web-based workflow engine, developed under the Single Interface for Music Score Searching and Analysis (SIMSSA) project. It natively provides a suite of software modules for optical music recognition (OMR) and supports custom modules for other tasks.
Rodan is powered by Python, using Django as its web server, Celery as its distributed task queue, and other supporting software packages. It features:
- Pluggable job packages
- Human-assisted workflow processing
- Distributed workflow processing
- Multi-user design
- RESTful API
- WebSocket messaging
- Diva.js viewer for high-resolution images
Rodan is set up with Docker to run as a set of containers (though instructions on how to run it as a standalone, uncontainerized app remain). Rodan itself is a fairly large stack that includes a Django application, two different databases, a distributed processing system, a reverse proxy, and a client for accessing the API. Each of these elements are contained inside docker containers for easier scaling and load distribution. This wiki details both Rodan's core functionality and how the Docker setup works.
For tutorials, please visit the following:
For beginner USERS: https://github.com/DDMAL/e2e-omr-resources/wiki,
For more advanced USERS and DEVELOPERS: https://ddmal.music.mcgill.ca/e2e-omr-documentation/tutorial/getting-started.html .
- Repository Structure
- Working on Rodan
- Testing Production Locally
- Working on Interactive Classifier
- Job Queues
- Testing New Docker Images
- Set up Environment Variables
- Set up SSL with Certbot
- Set up SSH with GitHub
- Deploying on Staging
- Deploying on Production
- Import Previous Data