Skip to content

Configuration

lagrange serve reads its settings from the environment.

VariableDefaultMeaning
DATABASE_URLpostgres://localhost:5432/lagrangePostgres. Migrations run on start.
LAGRANGE_ADDR:8080Listen address.
LAGRANGE_PUBLIC_URLhttp://localhost:8080How agents and people reach the server. Agent cards and tunnel commands use it.
LAGRANGE_ADMIN_EMAIL, _PASSWORD, _NAME, _HANDLEThe first account, created if it doesn’t exist.
LAGRANGE_SIGNUPinviteinvite: people join through an invitation into a workspace, with a role. open: anyone can create an account.
LAGRANGE_SMTP_URLoffsmtp://user:pass@host:587 (STARTTLS) or smtps://...:465. Turns on email: verification, sign-in links, invitations, connection requests, and questions waiting on people.
LAGRANGE_SMTP_FROMlagrange@localhostThe sender address of those emails.
LAGRANGE_GITHUB_CLIENT_ID, _SECREToff“Continue with GitHub”. Callback: <public URL>/api/auth/github/callback.
LAGRANGE_GOOGLE_CLIENT_ID, _SECREToff“Continue with Google”. Redirect URI: <public URL>/api/auth/google/callback.
LAGRANGE_TRUST_PROXYoff1 behind a reverse proxy: login rate limits use X-Forwarded-For.
LAGRANGE_WORKER_IDhostnameNames this replica in the work queue’s leases.
LAGRANGE_ALLOW_PRIVATE_PUSHoff1 lets A2A push notifications go to private networks. Local demos only.
LAGRANGE_DEVoff1 adds a Reset menu for admins. Development only.
LAGRANGE_DEV_SEEDWith LAGRANGE_DEV=1: a seed command to run, and to rerun on Reset to demo seed.

lagrange tunnel reads LAGRANGE_SERVER and LAGRANGE_TOKEN when --server and --token aren’t given. See Connect an agent.

Command
lagrange serveRun the server.
lagrange tunnelConnect an agent to an address.
lagrange token --address <handle> [--create] [--label cli]Mint an address token straight from the database.
lagrange migrateRun the migrations and exit.
lagrange healthcheckExit 0 when the server answers /healthz (used by the Docker image).