@@ -9,56 +9,56 @@ The system is built on a **stacks-based architecture** using Ansible and Docker
99``` mermaid
1010graph TB
1111 subgraph "User Interface"
12- USER[🧑💻 User] -- runs --> TASK["🔵 Taskfile.yml<br/> (e.g., task ansible:deploy:full)"]
12+ USER(" User") -- runs --> TASK(" Taskfile.yml (e.g., task ansible:deploy:full)")
1313 end
1414
1515 subgraph "Configuration Files"
16- DOT_ENV["📄 .env<br/> Secrets & Variables"]
17- INVENTORY["⚙️ ansible/inventory/<br/> Host & Group Definitions"]
18- STACKS_DIR["📁 stacks/<br/> One folder per service"]
16+ DOT_ENV(" .env ( Secrets & Variables)")
17+ INVENTORY(" ansible/inventory/ ( Host & Group Definitions)")
18+ STACKS_DIR(" stacks/ ( One folder per service)")
1919 end
2020
2121 subgraph "Orchestration Engine"
22- ANSIBLE["🤖 Ansible<br/> (ansible-playbook)"]
23- PLAYBOOKS["📚 ansible/playbooks/<br/> (e.g., deploy/stacks.yml)"]
22+ ANSIBLE(" Ansible (ansible-playbook)")
23+ PLAYBOOKS(" ansible/playbooks/ (e.g., deploy/stacks.yml)")
2424 end
2525
2626 subgraph "Deployment Target: Docker Swarm Cluster"
27- MANAGER["👑 Manager Node"]
28- WORKERS["- Worker Nodes"]
29- SWARM_NETWORK["🕸️ Overlay Network<br/> (traefik-public)"]
27+ MANAGER(" Manager Node")
28+ WORKERS(" Worker Nodes")
29+ SWARM_NETWORK(" Overlay Network (traefik-public)")
3030 end
3131
3232 subgraph "Core Running Services"
33- TRAEFIK["🚪 Traefik<br/> (Reverse Proxy)"]
34- DNS["🌐 Technitium DNS<br/> (Internal DNS)"]
35- MONITORING["📊 Prometheus/Grafana<br/> (Monitoring)"]
33+ TRAEFIK(" Traefik (Reverse Proxy)")
34+ DNS(" Technitium DNS (Internal DNS)")
35+ MONITORING(" Prometheus/Grafana (Monitoring)")
3636 end
3737
3838 subgraph "Application Services"
39- APPS["🚀 Applications<br/> (Home Assistant, Photoprism, etc.)"]
39+ APPS(" Applications (Home Assistant, etc.)")
4040 end
4141
4242 %% Data Flow
4343 USER --> TASK
44- TASK -- triggers --> ANSIBLE
45- ANSIBLE -- reads --> PLAYBOOKS
46- ANSIBLE -- uses --> DOT_ENV
47- ANSIBLE -- uses --> INVENTORY
48- ANSIBLE -- reads service definitions from --> STACKS_DIR
44+ TASK -- " triggers" --> ANSIBLE
45+ ANSIBLE -- " reads" --> PLAYBOOKS
46+ ANSIBLE -- " uses" --> DOT_ENV
47+ ANSIBLE -- " uses" --> INVENTORY
48+ ANSIBLE -- " reads service definitions from" --> STACKS_DIR
4949
5050 %% Deployment Flow
51- ANSIBLE -- deploys to --> MANAGER
52- MANAGER -- manages --> WORKERS
53- MANAGER -- creates --> SWARM_NETWORK
54- MANAGER -- deploys --> TRAEFIK
55- MANAGER -- deploys --> DNS
56- MANAGER -- deploys --> MONITORING
57- MANAGER -- deploys --> APPS
51+ ANSIBLE -- " deploys to" --> MANAGER
52+ MANAGER -- " manages" --> WORKERS
53+ MANAGER -- " creates" --> SWARM_NETWORK
54+ MANAGER -- " deploys" --> TRAEFIK
55+ MANAGER -- " deploys" --> DNS
56+ MANAGER -- " deploys" --> MONITORING
57+ MANAGER -- " deploys" --> APPS
5858
5959 %% Service Interaction
60- TRAEFIK -- routes traffic to --> APPS
61- DNS -- resolves domains for --> APPS
60+ TRAEFIK -- " routes traffic to" --> APPS
61+ DNS -- " resolves domains for" --> APPS
6262end
6363```
6464
0 commit comments