# facundodlf/docker-orchestrator architecture

> Architecture diagram of the GitHub repository facundodlf/docker-orchestrator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/facundodlf/docker-orchestrator
- Repository: https://github.com/facundodlf/docker-orchestrator

## Overview

AP.RIF.Orchestrator is a developer-facing Docker Compose coordinator for separate repositories, not a monorepo or an application runtime. The main workflow is selecting a stack or alias, then using root-level scripts and Compose configuration to start or stop the corresponding repository containers. Its documented capabilities also include config-by-volume, standalone repo operation, shared agent context, and host/container networking. The supplied tree has no `repos/` contents; those nodes and relationships reflect README documentation, not inspected repository source.

Main entry points: [`package.json`](https://github.com/facundodlf/docker-orchestrator/blob/main/package.json) (Docker scripts), [`docker-compose.yml`](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.yml) (Base Compose), [`docker-compose.all.yml`](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.all.yml) (All override), [`docker-compose.local.yml`](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.local.yml) (Local override)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Developer entry points"]
  node_scripts["Docker scripts<br/>[package.json]"]
  node_agent_context["Shared agent context"]
end

subgraph group_compose["Compose orchestration"]
  node_base["Base Compose<br/>[docker-compose.yml]"]
  node_all["All override"]
  node_local["Local override"]
  node_remote["Remote override"]
end

subgraph group_repos["Repository runtime"]
  node_repo_services["Registered repo services"]
  node_repo_config["Repo config and source"]
  node_standalone["Standalone Compose"]
end

subgraph group_environment["Runtime environment"]
  node_docker["Docker Compose"]
  node_host_services["Host infrastructure"]
end

node_developer(("Developer"))

node_developer -->|"selects command"| node_scripts
node_scripts -->|"runs compose"| node_base
node_scripts -->|"selects all stack"| node_all
node_scripts -->|"selects local stack"| node_local
node_scripts -->|"selects remote stack"| node_remote
node_base -->|"defines services"| node_repo_services
node_all -->|"overrides stack"| node_repo_services
node_local -->|"overrides stack"| node_repo_services
node_remote -->|"overrides stack"| node_repo_services
node_repo_services -->|"mounts source and config"| node_repo_config
node_repo_services -->|"runs containers"| node_docker
node_developer -->|"starts repo directly"| node_standalone
node_standalone -->|"runs standalone"| node_docker
node_repo_services -.->|"inherits shared context"| node_agent_context
node_repo_services -.->|"connects over network"| node_host_services

click node_scripts "https://github.com/facundodlf/docker-orchestrator/blob/main/package.json"
click node_base "https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.yml"
click node_all "https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.all.yml"
click node_local "https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.local.yml"
click node_remote "https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.remote.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_scripts,node_agent_context toneBlue
class node_base,node_all,node_local,node_remote toneAmber
class node_repo_services,node_repo_config,node_standalone toneMint
class node_docker,node_host_services toneRose
class node_developer toneIndigo
```

## Components

### Developer entry points

- [Docker scripts](https://github.com/facundodlf/docker-orchestrator/blob/main/package.json): `package.json`
- **Shared agent context**

### Compose orchestration

- [Base Compose](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.yml): `docker-compose.yml`
- [All override](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.all.yml): `docker-compose.all.yml`
- [Local override](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.local.yml): `docker-compose.local.yml`
- [Remote override](https://github.com/facundodlf/docker-orchestrator/blob/main/docker-compose.remote.yml): `docker-compose.remote.yml`

### Repository runtime

- **Registered repo services**
- **Repo config and source**
- **Standalone Compose**

### Runtime environment

- **Docker Compose**
- **Host infrastructure**

### Other components

- **Developer**

## Connections

- Developer → Docker scripts: selects command (evidence: `README.md`)
- Docker scripts → Base Compose: runs compose (evidence: `README.md`)
- Docker scripts → All override: selects all stack (evidence: `README.md`)
- Docker scripts → Local override: selects local stack (evidence: `package.json`)
- Docker scripts → Remote override: selects remote stack (evidence: `package.json`)
- Base Compose → Registered repo services: defines services (evidence: `README.md`)
- All override → Registered repo services: overrides stack (evidence: `README.md`)
- Local override → Registered repo services: overrides stack
- Remote override → Registered repo services: overrides stack
- Registered repo services → Repo config and source: mounts source and config (evidence: `README.md`)
- Registered repo services → Docker Compose: runs containers (evidence: `README.md`)
- Developer → Standalone Compose: starts repo directly (evidence: `README.md`)
- Standalone Compose → Docker Compose: runs standalone (evidence: `README.md`)
- Registered repo services → Shared agent context: inherits shared context (evidence: `README.md`)
- Registered repo services → Host infrastructure: connects over network (evidence: `README.md`)
