Logtura Docs
How the hosted control panel, open-source forwarder, and deployment model fit together.
Open source
The CLI and libraries work without a Logtura account or hosted service. They use your provider credentials to build a forwarder that sends logs to your destinations.
Repository: github.com/logtura/logtura
Install the CLI
npm install -g @logtura/cli
logt --help
logt is the primary command; logtura is an alias. The default configuration is
logt.yaml, with logtura.yaml accepted for existing projects.
Standalone configuration
schema_version: 1
providers:
cloudflare:
provider: cloudflare
display_name: My Cloudflare account
account_id: env:CLOUDFLARE_ACCOUNT_ID
credentials:
api_token: env:CLOUDFLARE_API_TOKEN
sources:
workers:
source: cloudflare-worker-tail
provider: cloudflare
scripts: [api-worker]
sinks:
alerts:
sink: slack
webhook_url: env:SLACK_WEBHOOK_URL
monitors:
- name: worker-errors
filter: [errors]
sinks: [alerts]
metrics: none
Keep credentials in your environment or a private companion .env file. The
configuration uses references instead of embedding tokens or webhook URLs.
You can write this file yourself or use logt init, logt connect cloudflare,
logt source add cloudflare-worker-tail, and the sink/monitor commands. Connect
verifies credentials and discovers inventory locally; it does not require signing
in to the hosted service.
Validate and bundle
logt -c logt.yaml env --check
logt -c logt.yaml validate
logt -c logt.yaml bundle -o dist/logtura-forwarder
Validation parses the configuration, checks driver requirements and renders the Vector topology. It does not claim that provider log delivery has been tested. The bundle contains a Dockerfile, Vector configuration, component manifest, required runtime assets, and a private environment file. Protect that directory because it includes credentials.
Run the forwarder
docker build -t logtura-forwarder dist/logtura-forwarder
docker run --rm --env-file dist/logtura-forwarder/.env logtura-forwarder
The standalone bundle does not require hosted heartbeat, metrics or configuration
reporting. logt deploy fly also supports standalone deployment through your local
Fly CLI. See the CLI documentation
for provider setup and deployment options.
Portable graphs and local metrics
logt -c logt.yaml config export -o portable.yaml
logt -c portable.yaml config hash
logt stats --metrics metrics.ndjson
Portable graphs retain stable connection, source, monitor and sink identities. Private payloads remain in environment references. Local stats read Vector's internal-metrics JSON or NDJSON without contacting the hosted service.
Use a website deployment from the CLI
logt login --service https://logtura.com
logt pull dep_your_deployment -o linked.yaml
logt -c linked.yaml config status
logt -c linked.yaml source select con_your_connection your-worker
logt -c linked.yaml push
Use the deployment and connection IDs belonging to your account. Login requires
browser approval; pull writes the portable graph and private companion files.
Push updates the existing website deployment's desired configuration. Website
configuration changes are captured by a later pull, so both interfaces operate on
the same deployment. Review local edits before using pull --force to replace them.
Push does not restart the forwarder. A linked Fly update requires an immutable runtime image, an existing checkpoint volume and a supported single-machine existing deployment. The CLI waits for an accepted applied report; the website shows whether the forwarder is waiting, has an update pending, or is in sync. See the linked Fly apply instructions for requirements and recovery commands.
Libraries and drivers
| Package | Role |
|---|---|
@logtura/core | Portable configuration, topology generation, manifests, metrics and runtime contracts |
@logtura/cli | Standalone and linked configuration/deployment commands |
@logtura/driver-cloudflare-worker-tail | Cloudflare Workers tail |
@logtura/driver-cloudflare-ai-gateway | AI Gateway logs |
@logtura/driver-fly-log-tail | Fly logs |
@logtura/driver-railway-logs | Railway logs |
@logtura/driver-supabase-edge-logs | Supabase edge function logs |
@logtura/driver-vercel-logs | Vercel logs |
@logtura/destination-slack | Slack incoming webhooks |
@logtura/destination-webhook | Generic HTTPS delivery |
@logtura/destination-datadog-metrics | Datadog metrics |
@logtura/destination-prometheus-remote-write | Prometheus remote write |
@logtura/custom-vector | Custom Vector source, transform and sink fragments |
Drivers implement the public contracts in @logtura/core. They must not depend
on the hosted control plane. See the core library documentation
for typed inputs, rendering and driver integration.