LogTide

Getting Started

Open-source log management. Privacy-first. Self-hosted or cloud.

Deployment Options

Managed Cloud

Zero setup required. Start logging in seconds.

  • Instant access, no installation
  • Automatic updates & backups
  • 99.9% uptime SLA
  • API: api.logtide.dev
Self-Hosted

Full control. Privacy-first. Docker deployment.

  • 100% data ownership
  • GDPR-compliant by design
  • One-command deployment
  • License: AGPLv3

Self-Hosted Quick Start

Prerequisites

  • Docker Engine - Container runtime
  • Docker Compose - Multi-container orchestration

That's it! No Node.js, no build tools, no database setup. Uses pre-built images from Docker Hub.

Installation (2 minutes)

# 1. Create project directory
mkdir logtide && cd logtide

# 2. Download configuration files
curl -O https://raw.githubusercontent.com/logtide-dev/logtide/main/docker/docker-compose.yml
curl -O https://raw.githubusercontent.com/logtide-dev/logtide/main/docker/.env.example
mv .env.example .env

# 3. Configure secure passwords (IMPORTANT!)
nano .env
# Change: DB_PASSWORD, REDIS_PASSWORD, API_KEY_SECRET

# 4. Start LogTide
docker compose up -d

# 5. Access the dashboard
# Frontend: http://localhost:3000
# API: http://localhost:8080
What happens automatically
  • Pulls pre-built images from Docker Hub
  • Starts PostgreSQL + TimescaleDB (database)
  • Starts Redis (queue & cache)
  • Runs database migrations
  • Starts backend API & worker
  • Starts frontend dashboard

Required Configuration

Edit your .env file and set secure values for these variables:

Variable Description
DB_PASSWORD PostgreSQL database password
REDIS_PASSWORD Redis password
API_KEY_SECRET Encryption key (32+ characters)

Database migrations run automatically on first start.

Docker Images

Pre-built images are available from:

  • Docker Hub: logtide/backend, logtide/frontend
  • GitHub: ghcr.io/logtide-dev/logtide-backend

Pin versions in production: LOGTIDE_BACKEND_IMAGE=logtide/backend:0.4.0

Troubleshooting

"Failed to Fetch" Error on First Access

If you see a "Failed to Fetch" error when accessing the dashboard for the first time, the frontend cannot reach the backend API. This typically happens with Docker orchestrators (Portainer, Komodo, etc.) or non-standard network setups.

How auto-detection works: When you access via http://192.168.1.100:3000, the frontend assumes the API is at http://192.168.1.100:8080. If you access via a reverse proxy on port 80/443, it uses relative URLs.

Fix: If auto-detection fails, explicitly set the API URL in your .env file:

# Set this to your Docker host's accessible address
PUBLIC_API_URL=http://your-docker-host:8080

Then restart the frontend: docker compose restart frontend

Containers Not Starting / Unhealthy

Check container logs to identify the issue:

# Check all container status
docker compose ps

# View logs for a specific service
docker compose logs backend
docker compose logs postgres
docker compose logs redis

First Steps

1. Create Your Organization

After logging in, create your first organization to get started. Organizations are top-level containers for your projects.

2. Create a Project

Each organization can have multiple projects (e.g., "production", "staging"). Projects isolate logs and have their own API keys.

3. Generate an API Key

In your project settings, create an API key to start sending logs. Save it securely - it's shown only once!

4. Send Your First Log

Choose your preferred method to start sending logs to LogTide:

Next Steps