Self-hosting
Your server. Your data.
LogSure is one Rust binary with the web console beside it, in one container. Run it anywhere Docker runs.
Try it in a minute
PASSWORD=$(uuidgen); echo "Password: $PASSWORD"
docker run -d --name logsure -p 8080:8080 -e ADMIN_PASSWORD=$PASSWORD \
-e CONSOLE_HOST=localhost:8080 -e COOKIE_SECURE=0 ghcr.io/logsure/serverOpen http://localhost:8080 and sign in with any username and the password it printed. Its data goes when the container does.
Keep it running
export ADMIN_PASSWORD=$(uuidgen) DATA_KEY=$(openssl rand -hex 32)
echo "ADMIN_PASSWORD=$ADMIN_PASSWORD DATA_KEY=$DATA_KEY" # keep both
docker run -d --name logsure --restart unless-stopped -p 8080:8080 -v logsure-data:/data \
-e ADMIN_PASSWORD -e DATA_KEY -e CONSOLE_HOST=localhost:8080 \
-e COOKIE_SECURE=0 -e TRUST_PROXY=0 ghcr.io/logsure/server:latestData in the logsure-data volume, email addresses sealed with DATA_KEY, restarts with Docker. Replace a quick-start container first with docker rm -f logsure. On a domain with HTTPS: Getting started.
Small enough to understand.
One process answers the ingest API, the console API, the MCP server and the web console's files. Background jobs run inside it.
- Rust, with axum and tokio
- SQLite out of the box, with Postgres and MySQL on the way
- Images for amd64 and arm64, running as uid 1000
One data folder
/data
├── care.db the database
├── files/ attachments
├── icons/ app icons, fetched from their sites
└── backups/ one copy a day, the last 7HTTPS in one more line.
The Compose file has a Caddy companion that gets the certificate for your domain. Or put it behind any proxy you already run.
Docker Compose
git clone https://github.com/logsure/server && cd server
cp .env.example .env # ADMIN_PASSWORD, DATA_KEY, DOMAIN
docker compose -f docker-compose.yml \
-f docker-compose.caddy.yml up -dIt tells your visitors what it keeps.
Every host that routes /_care/ to LogSure gets a public page listing what is received, used and kept, generated from the settings it runs with. Link it from your privacy policy.

Upgrades and backups, handled.
The engine migrates its database at start and writes a daily backup without the visitor salts. Keep DATA_KEY with your backups: the emails need it.
Upgrade
docker compose pull
docker compose up -d
# stay on a release instead
LOGSURE_VERSION=0.1.0Run it as a team.
Invite people with a link, as admins, members or viewers, and limit each to the apps they work on. Every change lands in the audit log.
- Passkeys, or two-factor with an authenticator app
- Require two-factor for the whole team
- Sign anyone out of every device at once

Only what you use.
Switch whole features off for the server or for one app: analytics, funnels, the inbox, waitlists, errors, tracing, the Lab or the MCP server. What is off takes nothing in, and its screens and tools go away.
Feature switches
How far does one server go?
One server handles most teams comfortably. At very high volume, tens of millions of events a month, or when you need high availability, the multi-node Cloud and Enterprise plans are the path.
LogSure on one server is open source under the MPL-2.0, with every feature. The managed multi-node cluster is a commercial offering, as Cloud or as an Enterprise self-hosted licence.
Cloud and Enterprise, on requestWhy the cluster?
- Scales out. Event intake runs on many nodes behind a load balancer, so traffic spikes don't slow your sites.
- Fast at any size. Analytics move to a column store, so dashboards and funnels stay quick over billions of events.
- Always on. No single server to fail: failover and upgrades without downtime.
- Hands off. Set up, scaled, backed up with point-in-time restore, and updated automatically.
- Support. A direct line to the people who build it.
| Single server free | Cluster Cloud or Enterprise | |
|---|---|---|
| Where it runs | Your one server | Our cloud, or your own infrastructure |
| Who operates it | You | Managed automatically; by us for Cloud |
| Scaling | A bigger server | More nodes, added automatically |
| On failure or upgrade | Down while the server restarts | Failover and upgrades without downtime |
| Backups | A daily copy, the last seven kept | Automatic, with point-in-time restore |
| Comfortable with | Most teams, up to millions of events a month | Tens of millions of events a month and beyond |
| Support | Community, on GitHub | A direct line to the people who build it |
| Licence | MPL-2.0, open source | Commercial |
Same product, same API and apps; the cluster changes how it runs, not what it does.
The cluster is offered on request. Talk to us
How it works.
Run it
Docker, Compose or the binary built with Cargo.
cargo build --release -p logsure-serverAdd an app
Settings › Apps: an id, a name and the domains it runs on.
acme-notes notes.acme.exampleRoute /_care/
Send each app's /_care/ to the server and add the script.
curl -sI https://notes.acme.example/_care/health