* Bring CartoLite visuals and recovery to the worldwide server with Netgraph * Remove remaining country-overlay cleanup references * Align the CI container identity with the integration checks * Exercise worldwide grid areas in the large-topology benchmark
2.6 KiB
Deployment
Build and start
Copy .env.example to .env, create .secrets/carto-basemap-api-key, and configure your MQTT broker. Then run:
docker compose build --pull
docker compose up -d
docker compose ps
curl --fail http://127.0.0.1:8080/healthz
curl --fail http://127.0.0.1:8080/readyz
The BuildKit secret injects the browser-visible CARTO project key into the compiled client without placing it in source, Compose, image labels, or build logs. Verify that TileJSON, vector PBF, and glyph requests authorize from the final public origin.
Configuration
| Variable | Default | Purpose |
|---|---|---|
CARTOLITE_BIND_ADDR |
127.0.0.1 |
Published host address |
CARTOLITE_PORT |
8080 |
Published host port |
MQTT_BROKER_URL |
required | tcp, ssl, ws, or wss broker URL |
MQTT_TOPIC |
meshcore/# |
Broker subscription |
MQTT_CLIENT_ID |
cartolite-server |
Unique MQTT client ID |
MQTT_USERNAME / MQTT_PASSWORD |
empty | Optional credentials; set both or neither |
REGION_ALLOWLIST |
empty | Accept all regions, or exact comma-separated labels |
MQTT_INGEST_QUEUE_SIZE |
4096 |
Bounded queue, from 64 through 65536 |
STATE_PATH |
/data/state-v1.json |
Atomic checkpoint path |
LOG_LEVEL |
info |
debug, info, warn, or error |
CARTO_BASEMAP_API_KEY_FILE points Compose at the BuildKit secret file. Do not place the key in .env.
Public operation
Use a TLS reverse proxy and forward to the loopback port. Do not expose .env, .secrets, or the data volume. Keep the supplied read-only filesystem, non-root user, dropped capabilities, memory limit, process limit, healthcheck, and bounded logs.
/healthz reports liveness. /readyz requires a healthy checkpoint, connected and subscribed MQTT client, healthy queue, and zero drops. Normal RF silence is ready.
Before an upgrade, copy the checkpoint and record the current image ID. Build the new source revision, recreate only the cartolite service, and verify health, readiness, schema v2 privacy, SSE traffic, vector resources, desktop/mobile layout, and container hardening. Roll back to the recorded image and checkpoint if any gate fails.
Upgrade to 0.2.0
Use the v0.2.0 source tag and set CARTOLITE_VERSION=0.2.0 in your existing .env. Keep your broker settings and secret files. Rebuild with your own existing BuildKit basemap secret, retain the MQTT and optional region configuration, and preserve the checkpoint and previous image before recreating the service. Both the map and /netgraph/ use the same public API v2 feed. Verify 3D enables Topo, world locations remain available, and Netgraph groups nodes by global grid squares.