Open source · Self-hosted

Your self-driving stack, on your own infrastructure.

MyPilot is a self-hosted control plane for a SunnyPilot/openpilot fork — devices, settings, routes, logs, models, software, and backups. You own the device, the data, and the control plane. No required cloud. Your car keeps driving even if MyPilot is offline.

Everything, self-hosted

A complete control panel running on infrastructure you control.

Devices & pairing

Pair a comma device with a one-time, signed code. Live presence, telemetry, and remote reboot — offroad-gated and audited.

Settings

Change device settings remotely with offroad, danger, and capability gating. Every change is reconciled live and logged.

Routes & logs

Your drives and logs ingested to object storage you control. Download the real bytes, set retention, delete anything.

Models

See the device's real driving models; switch and roll back — the device verifies the checksum before activating.

Software channels

Release and staging channels mapped to real branches. Update and roll back, all offroad-only.

Backups & migration

Snapshot settings to JSON, diff, restore, and move config between devices.

Modular & fork-friendly

Run your own in minutes

Nothing deployment-specific is hard-coded. Fork it, set your Stack URL and install source in Settings, point a build at it, and pair. Every step is in the docs.

1

Deploy the stack

Clone the repo and run ./scripts/install.sh — Podman-first (Docker works too). Postgres, Redis, MinIO, API, web, Caddy.

2

Create your admin

Open your URL, set up the first admin, and change the password. Strong secrets are generated for you.

3

Configure your fork

In Settings, set your Stack URL and GitHub install source — every install URL follows. No hard-coding.

4

Flash & pair

Install your branch via the comma's Custom Software, then pair from the code shown on the device screen. No SSH.

git clone <your-fork> mypilot && cd mypilot
./scripts/install.sh        # Podman-first; prints your URL