---
title: "Deployment"
description: "Ways to run Loggo — Docker, Cloudflare, or Kubernetes."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.loggo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment

Loggo is easy to self-host and runs almost anywhere that supports Node.js or Docker. Because it relies on SQLite for full-text search and metadata, it needs a persistent filesystem — every option below gives it one.

- **Docker** — A `docker run` or Compose file — the fastest way to try Loggo or run it on a single machine. See [Docker](/deployment/docker).
- **Cloudflare** — A read-only demo as a Cloudflare Worker, backed by D1. See [Cloudflare](/deployment/cloudflare).
- **Kubernetes** — Example manifests for running Loggo in a cluster. See [Kubernetes](/deployment/kubernetes).

## Which one should I use?

| Platform | Good for | Storage |
| --- | --- | --- |
| [Docker](/deployment/docker) | Self-hosting on your own server, full read/write | Local filesystem |
| [Cloudflare](/deployment/cloudflare) | A fast, read-only demo with no server to maintain | D1 (SQLite) + R2 for attachments |
| [Kubernetes](/deployment/kubernetes) | Running alongside other self-hosted services in a cluster | A single-replica PersistentVolumeClaim |

> **SQLite needs a single writer**
>
> Loggo's database is local SQLite, so every deployment path above runs a single instance — `replicas: 1` on Kubernetes, one container elsewhere. The Cloudflare Worker path is the exception: it's read-only by design, so D1's distributed nature doesn't run into this.

Source: https://docs.loggo.dev/deployment/index.mdx
