124-webapp/README.md

87 lines
2.7 KiB
Markdown
Raw Normal View History

2025-10-02 12:20:11 +02:00
# webapp_124
2025-09-11 16:01:32 +02:00
2025-10-02 12:20:11 +02:00
Minimal **FastAPI**-based PDF print-cost calculator with optional ink-coverage adjustment.
2025-09-11 16:01:32 +02:00
2025-10-02 12:20:11 +02:00
This project is part of **Studio EinsZwoVier**, a collaborative environment.
Everyone is invited to contribute improvements. See the [source code](https://forgejo.petau.net/aron/124-webapp).
---
## Features
- **Landing Page**: Overview of all available tools and links.
- **Cost Calculator**: Calculate print and material costs for posters and large-format prints.
- **Docmost / Wissenssammlung**: Shared knowledge library for manuals and documentation.
- **Local Chatbot**: Access your own Large Language Models via Open WebUI and Ollama.
- **Matrix Server**: Collects print jobs and payments.
- **Administration**: Manage the Docker stack via Portainer.
- **Automatic Updates**: Watchtower updates all containers every 24 hours and cleans up old images.
---
## Getting Started
### Prerequisites
- Docker & Docker Compose installed
- Optional: local network access to `einszwovier.local` for local services
if the server is moved, replace with new host
---
### Run the Stack
2025-09-11 16:01:32 +02:00
```bash
2025-10-02 12:20:11 +02:00
docker-compose up --build -d
2025-09-11 16:01:32 +02:00
2025-09-17 19:12:31 +02:00
graph TD
2025-10-02 12:20:11 +02:00
%% --- Subgraphs for clarity ---
subgraph WebApp ["Studio EinsZwoVier - Internal Web Pages"]
2025-09-17 19:21:22 +02:00
LP[Landing Page<br>studio-einszwovier.local]
2025-10-02 12:20:11 +02:00
About[About Page<br>/about]
CostCalc[Cost Calculator<br>/cost]
Mailto[Contact Email<br>mailto:einszwovier@gvb-gymnasium.de]
DocmostPage[Wissenssammlung<br>Docmost @ :3000]
ChatbotPage[Lokaler Chatbot<br>:8080]
2025-09-17 19:21:22 +02:00
end
2025-10-02 12:20:11 +02:00
subgraph MatrixServer ["Matrix Server"]
MatrixSrv[Matrix Server<br>Collects print jobs & payments]
2025-09-17 19:21:22 +02:00
end
2025-10-02 12:20:11 +02:00
subgraph DocmostServer ["Docmost Server"]
DocmostSrv[Docmost Server<br>Manages manuals & docs]
2025-09-17 19:21:22 +02:00
end
2025-10-02 12:20:11 +02:00
subgraph AdminPanel ["Administration"]
Portainer[Portainer Admin Panel<br>:9000]
end
%% --- Landing page links ---
2025-09-17 19:21:22 +02:00
LP --> About
LP --> CostCalc
LP --> Mailto
2025-10-02 12:20:11 +02:00
LP --> DocmostPage
LP --> ChatbotPage
LP --> Portainer
2025-09-17 19:21:22 +02:00
2025-10-02 12:20:11 +02:00
%% --- Cost Calculator workflow ---
CostCalc --> PDF[PDF Upload]
2025-09-17 19:21:22 +02:00
PDF --> Quote[Generate Quote]
2025-10-02 12:20:11 +02:00
Quote --> MatrixSrv
%% --- Docmost workflow ---
DocmostPage --> DocmostSrv
2025-09-17 19:21:22 +02:00
2025-10-02 12:20:11 +02:00
%% --- Chatbot workflow ---
ChatbotPage --> Ollama[Ollama AI Server<br>:11434]
ChatbotPage --> OpenWebUI[Open WebUI<br>:8080]
2025-09-17 19:21:22 +02:00
2025-10-02 12:20:11 +02:00
%% --- Optional styling for clarity ---
classDef internal fill:#e3f2fd,stroke:#90caf9,stroke-width:1px;
classDef external fill:#fff3e0,stroke:#ffb74d,stroke-width:1px;
class LP,About,CostCalc,Mailto,DocmostPage,ChatbotPage internal;
class MatrixSrv,DocmostSrv,Ollama,OpenWebUI,Portainer external;