Repository navigation
Guide Github Login
You can sign in to MowDeck with your GitHub account once you have linked it to your MowDeck user. Your password keeps working, so you can always fall back to it. Your server's operator must have switched GitHub on (Sign in with GitHub); otherwise you see neither the button nor the settings panel.
- Open MowDeck in your browser (Safari, Chrome, Edge or Firefox) and sign in with your password.
- Go to Einstellungen, section Konto, panel GitHub, and choose Mit GitHub verknüpfen.
- Enter your current password and choose Weiter zu GitHub.
- GitHub asks whether MowDeck may read your public profile; choose Authorize. You come back to the settings, which now show "Verknüpft mit GitHub als ". GitHub asks this once (and e-mails you that MowDeck was authorized); later sign-ins go straight through.
MowDeck stores only your GitHub account's number and name. It never reads your e-mail address and never links accounts by it: a GitHub account signs in only to the MowDeck user who linked it. One GitHub account can be linked to one MowDeck user.
In the iPhone or Android app the panel tells you to link GitHub in the browser; after that the app can sign you in with GitHub too.
- Browser: on the sign-in page choose Mit GitHub anmelden. If you are signed in to GitHub already, you are back in MowDeck right away; otherwise sign in at GitHub first.
- App: choose Mit GitHub anmelden. Safari (iPhone) or Chrome (Android) opens your MowDeck sign-in page; choose Mit GitHub anmelden there, sign in at GitHub and confirm In der App weiter. Only confirm when you started the sign-in from the app yourself.
"Anmeldung mit GitHub nicht möglich" means that this GitHub account is not linked to a MowDeck user: sign in with your password and link it first.
Einstellungen, Konto, GitHub, Verknüpfung lösen. GitHub then no longer signs you in; your password does. You can link again at any time. MowDeck cannot remove the authorization on GitHub's side, so the panel reminds you: to remove it as well, open github.com/settings/applications (GitHub, Settings, Applications, Authorized OAuth Apps) and revoke MowDeck there. If you keep it, linking again later skips GitHub's consent page.
Mirrored from docs/guides/github-login.md at commit dd868d25facdb18b7085b15b8307e49b09160c62. Edit the file in the repository, not this wiki page.
Mirrored from the docs/ directory at commit dd868d25facdb18b7085b15b8307e49b09160c62. Edit the files in the repository, not this wiki.
MowDeck documentation
- Home
- Phases
- Architecture
-
Decisions (ADR)
- Architecture decisions
- ADR 0001: OpenFGA instead of self-built authorization
- ADR 0002: Self-built Identity service in FastAPI instead of Keycloak or Zitadel
- ADR 0003: SvelteKit for the web app
- ADR 0004: Monorepo with a uv workspace
- ADR 0005: AGPL-3.0 for services and apps, Apache-2.0 for libraries
- ADR 0006: PostgreSQL for all persistence, no SQLite
- ADR 0007: NATS JetStream as event bus
- ADR 0008: Traefik as gateway
- ADR 0009: Command and event envelopes, subject naming and de-duplication
- ADR 0010: Python 3.13 for all services and libraries
- ADR 0011: Separate GPL-3.0 package for the PyMammotion adapter
- ADR 0012: Mower control interface and safety rules
- ADR 0013: Device-Gateway registry, sharding and per-mower concurrency
- ADR 0014: Authorization model, tuple ownership and the mowdeck-authz client
- ADR 0015: Tokens, sessions and key rotation
- ADR 0016: Fleet commands and authorization per command kind
- ADR 0017: Telemetry storage and retention
- ADR 0018: Realtime WebSocket protocol
- ADR 0019: Mammotion adapter transports, manual drive and secrets
- ADR 0020: Web app architecture
- ADR 0021: Browser authentication flow
- ADR 0022: Notifications: rules, recipients and delivery
- ADR 0023: Map rendering and projection
- ADR 0024: Scheduler: recurrence, rain pause and command issuing
- ADR 0025: Home Assistant integration as a pure API client
- ADR 0026: Manual drive channel over the Realtime WebSocket
- ADR 0027: Health history and theft alarm
- ADR 0028: Entitlements: plans as data and enforcement
- ADR 0029: Helm chart and release pipeline
- ADR 0030: Mowing patterns as plug-ins and the Planner
- ADR 0031: Billing with a Stripe adapter
- ADR 0032: Live camera over Agora, joined directly by the browser
- ADR 0033: Vision-assisted recovery with human approval
- ADR 0034: Linked cloud accounts and device discovery
- ADR 0035: Server-side camera frames and automatic AI analysis on errors
- ADR 0036: Native app shells with Capacitor, loading the web app from the server
- ADR 0037: Camera panorama calibration in the browser, with the AI supplying points only
- ADR 0038: Dual link per mower and firmware updates
- ADR 0039: Spot mowing by MowDeck-driven paths
- ADR 0040: Link heartbeat for online status
- ADR 0041: Spot runs from the dock: undock, transit and return
- ADR 0042: Drive calibration
- ADR 0043: Turn styles
- ADR 0044: Drive view with camera
- ADR 0045: Camera relay
- ADR 0046: Device settings as capabilities
- ADR 0047: The RTK base station as a Fleet device
- ADR 0048: Maintenance commands
- ADR 0049: Manual driving over the Mammotion cloud
- ADR 0050: Passkeys and the app login hand-off
- ADR 0051: Sign in with GitHub
- ADR 0052: Sign in with Apple
- ADR 0053: Retention and downsampling of the position track
- ADR 0054: Aerial photo under the mower map
- ADR 0055: Deploy maintenance window
- ADR 0056: Camera photo in push notifications for errors and theft alarms
- ADR 0057: Step-up re-authentication for critical actions
- ADR 0058: Theft tracking mode
- ADR 0059: iOS widgets and the mowing Live Activity
- ADR 0060: Apple Watch app
- ADR 0061: Mowing angle rotation
- ADR 0062: Setup tour for new users
- ADR 0063: Matter server (mowers in Apple Home and Google Home)
- Development
-
Operations
- Operating the Compose stack
- Operating MowDeck on Kubernetes (Helm)
- Building the Bluetooth bridge (ESPHome on a XIAO ESP32-S3)
- Releases
- Billing operations
- Telemetry: retention and position downsampling
- iPhone and Android apps
- Passkeys
- Sign in with GitHub
- Aerial photo under the map
- Sign in with Apple
- Theft tracking mode
- Matter server
- Source code offer (AGPL-3.0 section 13)
- Spikes
- Guides
- Original plan (German)