add img
This commit is contained in:
parent
000ec5d25f
commit
9b4e0f3042
3 changed files with 134 additions and 0 deletions
55
images/README.md
Normal file
55
images/README.md
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
# Architecture Diagrams
|
||||||
|
|
||||||
|
This folder contains visual representations of the studio einszwovier platform architecture.
|
||||||
|
|
||||||
|
## Files
|
||||||
|
|
||||||
|
### `architecture.png`
|
||||||
|
|
||||||
|
High-resolution PNG diagram showing the complete platform architecture including:
|
||||||
|
|
||||||
|
- **Web Platform** - Landing page, About page, Cost calculator
|
||||||
|
- **Services** - BookStack, Open WebUI, JupyterHub, Forgejo, Element Web, Portainer
|
||||||
|
- **Backend** - Synapse Matrix server, Ollama LLM engine, MariaDB database
|
||||||
|
- **Educational Resources** - Drone programming, Git repositories, Documentation
|
||||||
|
- **Storage** - Persistent data for all services
|
||||||
|
- **Infrastructure** - Watchtower auto-updates, Docker network
|
||||||
|
|
||||||
|
**Specifications:**
|
||||||
|
- Resolution: 2400x1600 pixels
|
||||||
|
- Format: PNG with transparent background
|
||||||
|
- Size: ~242 KB
|
||||||
|
- Generated from: `architecture.mmd`
|
||||||
|
|
||||||
|
### `architecture.mmd`
|
||||||
|
|
||||||
|
Source Mermaid diagram file. This is the plain-text definition used to generate the PNG.
|
||||||
|
|
||||||
|
## Regenerating the Diagram
|
||||||
|
|
||||||
|
To regenerate the PNG from the Mermaid source:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install mermaid-cli if needed
|
||||||
|
npm install -g @mermaid-js/mermaid-cli
|
||||||
|
|
||||||
|
# Generate PNG
|
||||||
|
mmdc -i images/architecture.mmd -o images/architecture.png -w 2400 -H 1600 -b transparent
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
The PNG is embedded in the main [README.md](../README.md) file under the "Architecture" section. It provides a visual overview for developers, contributors, and users to understand how all services interconnect.
|
||||||
|
|
||||||
|
## Updating
|
||||||
|
|
||||||
|
When the architecture changes:
|
||||||
|
|
||||||
|
1. Update the Mermaid diagram in [README.md](../README.md)
|
||||||
|
2. Copy the updated diagram to `architecture.mmd`
|
||||||
|
3. Regenerate the PNG using the command above
|
||||||
|
4. Commit both files to git
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Maintained by studio einszwovier**
|
||||||
79
images/architecture.mmd
Normal file
79
images/architecture.mmd
Normal file
|
|
@ -0,0 +1,79 @@
|
||||||
|
graph TB
|
||||||
|
subgraph "studio einszwovier Web Platform"
|
||||||
|
LP[🏠 Landing Page<br/>Port 80]
|
||||||
|
About[ℹ️ About Page<br/>/about]
|
||||||
|
CostCalc[💰 Cost Calculator<br/>/cost]
|
||||||
|
|
||||||
|
LP --> About
|
||||||
|
LP --> CostCalc
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Services Accessible from Landing Page"
|
||||||
|
BookStack[📚 BookStack<br/>Port 6875<br/>Wissenssammlung]
|
||||||
|
OpenWebUI[🤖 Open WebUI<br/>Port 8080<br/>LLM Chatbot]
|
||||||
|
JupyterHub[📓 JupyterHub<br/>Port 8001<br/>Python Notebooks]
|
||||||
|
Forgejo[🦊 Forgejo<br/>Port 3003<br/>Git Server]
|
||||||
|
ElementWeb[💬 Element Web<br/>Port 8082<br/>Matrix Chat]
|
||||||
|
Portainer[🐳 Portainer<br/>Port 9000<br/>Admin Panel]
|
||||||
|
|
||||||
|
LP -.->|Link| BookStack
|
||||||
|
LP -.->|Link| OpenWebUI
|
||||||
|
LP -.->|Link| JupyterHub
|
||||||
|
LP -.->|Link| Forgejo
|
||||||
|
LP -.->|Link| ElementWeb
|
||||||
|
LP -.->|Link| Portainer
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Backend Services"
|
||||||
|
Synapse[📨 Synapse<br/>Port 8008<br/>Matrix Server]
|
||||||
|
Ollama[🔮 Ollama<br/>Port 11434<br/>LLM Engine]
|
||||||
|
MariaDB[(💾 MariaDB<br/>BookStack DB)]
|
||||||
|
|
||||||
|
ElementWeb --> Synapse
|
||||||
|
OpenWebUI --> Ollama
|
||||||
|
BookStack --> MariaDB
|
||||||
|
CostCalc --> Synapse
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Educational Resources"
|
||||||
|
Notebooks[📒 Drone Programming<br/>djitellopy Package]
|
||||||
|
GitRepos[📦 Code Repositories<br/>Project Source]
|
||||||
|
Knowledge[📖 Documentation<br/>Guides & Tutorials]
|
||||||
|
|
||||||
|
JupyterHub --> Notebooks
|
||||||
|
Forgejo --> GitRepos
|
||||||
|
BookStack --> Knowledge
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Persistent Storage"
|
||||||
|
PDFUploads[📁 PDF Files<br/>data/uploads/]
|
||||||
|
CoursesCSV[📋 Courses CSV<br/>data/courses.csv]
|
||||||
|
MatrixData[(🗄️ Matrix Data<br/>matrix/data/)]
|
||||||
|
JupyterVols[(💾 Jupyter Volumes<br/>User Workspaces)]
|
||||||
|
ForgejoData[(📚 Forgejo Data<br/>forgejo/data/)]
|
||||||
|
|
||||||
|
CostCalc --> PDFUploads
|
||||||
|
About --> CoursesCSV
|
||||||
|
Synapse --> MatrixData
|
||||||
|
JupyterHub --> JupyterVols
|
||||||
|
Forgejo --> ForgejoData
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph "Infrastructure"
|
||||||
|
Watchtower[🔄 Watchtower<br/>Auto-Updates<br/>Every 24h]
|
||||||
|
Network[🌐 einszwovier_network<br/>Docker Network]
|
||||||
|
end
|
||||||
|
|
||||||
|
classDef webapp fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
|
||||||
|
classDef service fill:#fff3e0,stroke:#f57c00,stroke-width:2px
|
||||||
|
classDef backend fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
|
||||||
|
classDef storage fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
|
||||||
|
classDef edu fill:#fce4ec,stroke:#c2185b,stroke-width:2px
|
||||||
|
classDef infra fill:#fafafa,stroke:#616161,stroke-width:2px
|
||||||
|
|
||||||
|
class LP,About,CostCalc webapp
|
||||||
|
class BookStack,OpenWebUI,JupyterHub,Forgejo,ElementWeb,Portainer service
|
||||||
|
class Synapse,Ollama,MariaDB backend
|
||||||
|
class PDFUploads,CoursesCSV,MatrixData,JupyterVols,ForgejoData storage
|
||||||
|
class Notebooks,GitRepos,Knowledge edu
|
||||||
|
class Watchtower,Network infra
|
||||||
BIN
images/architecture.png
Normal file
BIN
images/architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 236 KiB |
Loading…
Add table
Add a link
Reference in a new issue