M3a: meetrec-server storage service + automatic upload from the app
- server/meetrec-server: FastAPI storage API (upload bundle with wav/ txt/srt/json + metadata incl. agenda, list, fetch, download, delete); file-based index.json, no database; Docker Compose on port 8090, Tailscale-only bind like whisper-server; Ollama env prepared for M3c (gemma4:12b, German) - phone: StorageClient (stdlib multipart upload); RecorderService uploads the bundle in the background after the final pass and publishes UploadState (Uploading/Done/Error) to the UI - app: Library URL setting (persisted, default http://100.103.83.12:8090, empty disables upload); status line reports upload progress - storage API validated locally end-to-end: upload, list, metadata, download, path-traversal rejected, delete
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# meetrec-server: storage + orcheststration for meetrec recordings.
|
||||
#
|
||||
# docker compose up -d --build
|
||||
#
|
||||
# Stores recording bundles uploaded by the meetrec apps (wav/txt/srt/json +
|
||||
# metadata) and — from M3c on — generates German meeting summaries and
|
||||
# agenda coverage via Ollama. Single-user service for a private tailnet;
|
||||
# bound only to the Tailscale interface, like whisper-server.
|
||||
|
||||
services:
|
||||
meetrec-server:
|
||||
build: .
|
||||
image: meetrec-server:latest
|
||||
container_name: meetrec-server
|
||||
restart: unless-stopped
|
||||
|
||||
environment:
|
||||
# Ollama (used from M3c on for summaries/agenda coverage)
|
||||
OLLAMA_URL: http://100.103.83.12:11435
|
||||
OLLAMA_MODEL: gemma4:12b
|
||||
SUMMARY_LANG: de
|
||||
|
||||
volumes:
|
||||
- ./data:/data
|
||||
|
||||
ports:
|
||||
- "100.103.83.12:8090:8090" # tailscale-only; see whisper-server notes
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8090/api/health')\""]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 15s
|
||||
Reference in New Issue
Block a user