Configuration¶
Strawly's deployment is controlled by a single file: strawly-deployment.yml. You edit this file to choose which modules to enable, set ports, and configure schedules. The deployment scripts read this file and generate the Docker Compose configuration automatically.
strawly-deployment.yml structure¶
version: "1.0"
core:
backend:
enabled: true # always true — cannot be disabled
port: 3001
image: git.strawly.app/Strawly/strawly-backend:latest
frontend:
enabled: true # always true — cannot be disabled
port: 3000
image: git.strawly.app/Strawly/strawly-frontend:latest
database:
provider: postgresql
host: postgres
port: 5432
database: strawly
modules:
optimizations-azure:
enabled: true # set to false to skip this module
port: 3002
image: git.strawly.app/Strawly/optimizations-azure:latest
settingsKey: optimizations:azure # registry key override (optional)
serviceUrl: http://optimizations-azure:3002 # frontend reaches the service here (optional)
metadata:
displayName: "Azure Optimizations"
icon: "☁️"
description: "Runs custom optimization scripts against Azure subscriptions using Azure metrics"
provider: azure
category: optimizations
version: "0.1.0"
env:
NODE_ENV: production
depends_on:
- backend
- postgres
Core section¶
The core section configures the two services that are always deployed.
| Field | Description | Default |
|---|---|---|
core.backend.port |
Host port for the backend API | 3001 |
core.frontend.port |
Host port for the frontend UI | 3000 |
To change a port, update the value here, regenerate, and redeploy:
Also update the corresponding *_PORT variable in .env if you change the backend port, and update CORS_ORIGIN to match the new frontend port.
Modules section¶
Each key under modules corresponds to an optional module. The module name (e.g. optimizations-azure) must match the key used in the module registry.
Common module fields¶
| Field | Description |
|---|---|
enabled |
true to deploy, false to skip |
port |
Host port the module listens on |
image |
Docker image reference |
settingsKey |
Optional. Overrides the registry key (otherwise derived from the module name) |
serviceUrl |
Optional. URL the frontend uses to reach the service. Defaults to http://<module-name>:<port> |
metadata |
Display name, icon, description, provider, category, and version shown in the UI |
env |
Environment variables passed to the module container |
depends_on |
Services the module waits on |
After any configuration change¶
Always regenerate the compose file after editing strawly-deployment.yml, then re-run the registry seeder so the UI reflects any enabled or disabled modules:
For module removals, add --remove-orphans to clean up stopped containers: