-
Notifications
You must be signed in to change notification settings - Fork 0
⭐ System Components
System Components This page provides a detailed breakdown of each major subsystem in the project. Understanding these components will help you navigate the codebase, extend the platform, and contribute effectively.
- Laravel Backend Key Responsibilities Routing
Controllers
Inertia responses
Database provisioning
SSL management
Persistent volume generation
Environment variable normalization
Health check configuration
Important Directories
app/Actions/Database/ app/Models/ app/Http/Controllers/ app/Traits/
- React 18 + Inertia Frontend Key Responsibilities Rendering UI components
Managing client‑side state
Handling user interactions
Receiving props from Laravel
Integrating with Vite
Important Directories
resources/js/Pages/ resources/js/Components/ resources/js/Hooks/
- StartActions (Database Provisioning) Each database engine has a dedicated StartAction class responsible for:
SSL setup
Persistent volume generation
Environment variable injection
Docker Compose generation
Start command construction
Healthcheck configuration
List of StartActions StartMysql
StartPostgresql
StartRedis
StartMariadb
StartMongodb
StartKeydb
StartDragonfly
- SSL Subsystem Responsibilities CA certificate generation
Database certificate generation
Mounting certs into containers
Enforcing secure transport
Important Files /data/coolify/ssl/
- Docker Orchestration Responsibilities Compose file generation
Resource limits
Network configuration
Log drain integration
Custom run options
Important Concepts convertDockerRunToCompose()
generateCustomDockerRunOptionsForDatabases()
- Persistent Volume Generator Responsibilities Creating local storage directories
Mapping volumes into containers
Supporting file‑based volumes
Trait GeneratesLocalPersistentVolumes
- Testing Architecture Conventions #[TestCase] at class level
#[Test] on every test method
No helpers
No closures
Deterministic tests
DI‑friendly structure