Galaxy Architecture Documentation
This section documents Galaxy’s internal architecture and design patterns.
- Architecture Topics
- Galaxy Ecosystem and Projects
- Galaxy Project Management and Contribution
- Galaxy Architecture Principles
- Galaxy Files and Directory Structure
- Galaxy Web Frameworks
- Dependency Injection in Galaxy
- Galaxy Task Management with Celery
- Galaxy Application Components: Models, Managers, and Services
- Galaxy Plugin Architecture
- Galaxy Client Architecture
- Galaxy Dependencies Management
- Galaxy Startup Process
- Galaxy Production Deployment
Overview
Galaxy’s architecture is built around several key design patterns and systems. This documentation is the authoritative source for understanding Galaxy’s internal design and covers:
Application Components: Core managers and services that power Galaxy
Client Architecture: Frontend patterns and browser integration
Dependencies: External libraries and dependency management
Dependency Injection: How Galaxy manages application dependencies and component construction
Ecosystem: Integration with external tools and services
File Management: Data storage, formats, and handling
Frameworks: Foundational patterns and architectural frameworks
Plugins: Plugin system architecture and extension points
Principles: Core architectural design principles
Production Deployment: Running Galaxy in production environments
Project Management: Work organization and development workflows
Startup Process: How Galaxy initializes and configures the application
Task Execution: Job scheduling and task management systems
About This Documentation
This is a single source of truth for Galaxy’s architecture, maintained as structured content and generated in multiple output formats:
Training slides for the Galaxy Training Network
Sphinx documentation (this project)