1
Clone the repository
Clone OneRep from GitHub and move into the
selfhost directory, which contains the installer and the Docker Compose file:2
Run the installer
Run the install script:The script asks one question — whether to enable anonymous telemetry (default yes; choosing no means no analytics script is built into the app at all). After that it runs without further input.What the script does:
- Writes
selfhost/.envwith freshly generated secrets - Brings up the Convex backend container
- Deploys the Convex functions to the backend
- Sets the deployment’s environment variables
- Builds and starts the datasource and the app
3
Verify the install
Open
http://127.0.0.1:8081 in your browser. You should see the OneRep sign-in screen. Create an account — it will have full Pro access with no paywall.The dashboard at http://127.0.0.1:6791 is where you inspect data and manage backend environment variables.Serving on a real domain
The default configuration binds to127.0.0.1, which means it is only reachable from the machine it runs on. To make your install accessible from a phone, another machine, or the public internet, you need to configure a hostname before (or instead of) the first run.
The simplest approach is to export PUBLIC_HOST before running ./install.sh:
selfhost/.env directly after the first run, put TLS in front of ports 3210, 3211, and 8081, then re-run ./install.sh:
selfhost/install.sh and in selfhost/docker-compose.yml.
A LAN address such as
http://192.168.1.10:3210 is enough to reach your install from a phone on the same network. Anything you carry around outside your home network wants TLS and a real hostname.Re-running the installer
Re-running./install.sh is safe at any time. The existing secrets in selfhost/.env are kept, and the deploy is idempotent — functions and environment variables are updated in place. Use this whenever you pull new changes or adjust configuration.