- Dart 72.5%
- Shell 23%
- Python 4%
- Dockerfile 0.5%
| lumo-tamer | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| umbrel-app-store.yml | ||
Lumo Apps – Umbrel Community App Store
Community app store (lumo) for umbrelOS 2.0.
Disclaimer: The apps in this store are unofficial.
lumo-tameris not affiliated with, endorsed by or supported by Proton AG. It uses Proton Lumo through an unofficial interface and may violate Proton's Terms of Service. Using it can lead to restrictions or suspension of your Proton account (including Mail and Drive). Use at your own risk; a separate Proton account is recommended.
Apps
| App ID | Upstream | Version |
|---|---|---|
lumo-tamer |
ZeroTricks/lumo-tamer (GPL-3.0), patched fork: lmathias/lumo-tamer | 0.6.3 |
lumo-tamer
OpenAI-compatible API for Proton Lumo (lumo, lumo-lite, lumo-max, apertus1.5 = Apertus 1.5, alias apertus-15). Only reachable inside Umbrel's Docker network:
Base URL: http://lumo-tamer_server_1:3003/v1
API key: server.apiKey in <app-data>/lumo-tamer/data/config/config.yaml
Secrets (API key, vault key, session vault) are generated at runtime in the app data folder and are never part of this repository. The server waits until a login exists and starts automatically afterwards (no restart needed).
Login in der Weboberfläche (empfohlen)
Lumo Tamer im Umbrel-Dashboard öffnen → „Anmeldung“ → protondrive-Abschnitt aus rclone config einfügen. Die Seite erklärt die Schritte. Status, Chat, API-Schlüssel und Abmelden liegen ebenfalls in der Oberfläche (Jaspr/Dart, Quellcode unter lumo-tamer/ui).
Login option A: username/password
sudo docker exec -it lumo-tamer_server_1 tamer auth login
Proton may answer with a CAPTCHA (HTTP 422, code 9001), which this method cannot solve. Use option B then.
Login option B: rclone (recommended if you hit a CAPTCHA)
Uses a dedicated rclone protondrive remote and imports its tokens. Do not reuse a remote you use for Proton Drive: lumo-tamer refreshes the tokens and invalidates them for rclone.
# 1. create a temporary rclone config (rclone >= 1.65, or the rclone/rclone Docker image)
mkdir -m 700 /tmp/rclone-lumo
rclone config --config /tmp/rclone-lumo/rclone.conf
# n (new remote) -> name: lumo-tamer -> storage: protondrive -> username, password, 2FA code
# answer the remaining questions with the defaults
# 2. test
rclone about lumo-tamer: --config /tmp/rclone-lumo/rclone.conf
# 3. import the tokens into lumo-tamer (nothing is printed)
sed -n '/^\[lumo-tamer\]/,/^$/p' /tmp/rclone-lumo/rclone.conf | sudo docker exec -i lumo-tamer_server_1 tamer auth rclone
# 4. remove the temporary rclone config
rm -rf /tmp/rclone-lumo
Tokens are refreshed automatically every 20 hours and on authentication errors.
Connect a client
Add an OpenAI-compatible provider in your client app (e.g. Vane/Perplexica) with the base URL and API key above.
Image: git.buzzword.lol/lmathias/lumo-tamer:v0.6.5, pinned by digest, linux/amd64 only. Based on upstream tag v0.6.0 (commit da987136f7e0d05c989f3247ee62c4e75c84881e) plus patches (response_format json_object/json_schema, tool-call normalization, retry with backoff on transient network errors, Apertus 1.5 model id apertus1.5 (alias apertus-15), JSON rules only for response_format).
Source code (GPL-3.0): https://git.buzzword.lol/lmathias/lumo-tamer – branch v0.6.3-json-scope, tag v0.6.3; patches and update path in UPSTREAM.md.
Adding this store
umbrelOS → App Store → ⋯ → Community App Stores → add https://git.buzzword.lol/lmathias/umbrel-app-store.git.
License
Packaging files in this repository: MIT (see LICENSE). Upstream lumo-tamer is licensed under GPL-3.0; this repository does not contain upstream source code. The source of the patched image is published at https://git.buzzword.lol/lmathias/lumo-tamer.
The app icon is an original design and not a Proton logo.