design final

This commit is contained in:
Aron Petau 2025-10-02 12:20:11 +02:00
parent da5e765d49
commit a0d2188f6f
1400 changed files with 1748 additions and 207 deletions

View file

@ -1,47 +1,86 @@
# papercut-lite-printshop
# webapp_124
Minimal Flask-based PDF print-cost calculator with optional ink-coverage adjustment.
Minimal **FastAPI**-based PDF print-cost calculator with optional ink-coverage adjustment.
Run:
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
```bash
docker-compose up --build
```
Then open http://localhost:8000 and upload PDFs. Configure rate via env var RATE_PER_M2 (default 4.0).
docker-compose up --build -d
```mermaid
graph TD
subgraph WebApp ["Studio Einszwovier Internal Pages"]
%% --- Subgraphs for clarity ---
subgraph WebApp ["Studio EinsZwoVier - Internal Web Pages"]
LP[Landing Page<br>studio-einszwovier.local]
About[About Page]
CostCalc[Cost Calculator]
Mailto[Mailto Contact]
OutlinePage[Outline Page<br>Knowledge Library<br>via IServ SSO]
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]
end
subgraph Matrix ["Matrix Server"]
MatrixServer[Matrix Server<br>Collect print jobs & payments]
subgraph MatrixServer ["Matrix Server"]
MatrixSrv[Matrix Server<br>Collects print jobs & payments]
end
subgraph OutlineServer ["Outline Server"]
OutlineSrv[Outline Server<br>Manages manuals & docs]
subgraph DocmostServer ["Docmost Server"]
DocmostSrv[Docmost Server<br>Manages manuals & docs]
end
%% Landing page links
subgraph AdminPanel ["Administration"]
Portainer[Portainer Admin Panel<br>:9000]
end
%% --- Landing page links ---
LP --> About
LP --> CostCalc
LP --> Mailto
LP --> MatrixServer
LP --> OutlinePage
LP --> DocmostPage
LP --> ChatbotPage
LP --> Portainer
%% Cost calculator workflow
CostCalc --> PDF[PDF upload]
%% --- Cost Calculator workflow ---
CostCalc --> PDF[PDF Upload]
PDF --> Quote[Generate Quote]
Quote --> MatrixServer
Quote --> MatrixSrv
%% Outline workflow
OutlinePage --> OutlineSrv
%% --- Docmost workflow ---
DocmostPage --> DocmostSrv
```
%% --- Chatbot workflow ---
ChatbotPage --> Ollama[Ollama AI Server<br>:11434]
ChatbotPage --> OpenWebUI[Open WebUI<br>:8080]
%% --- 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;