Deployment Guide

Deploy LogWard on your infrastructure using pre-built Docker images or build from source.

Pre-built Images (Recommended)

No Build Required
Use our official pre-built images from Docker Hub or GitHub Container Registry. Just download the config, set your passwords, and run.

Quick Start (2 Minutes)

bash
# Create project directory
mkdir logward && cd logward

# Download docker-compose.yml
curl -O https://raw.githubusercontent.com/logward-dev/logward/main/docker/docker-compose.yml

# Download environment template
curl -O https://raw.githubusercontent.com/logward-dev/logward/main/.env.example
mv .env.example .env

# Edit .env with secure passwords
nano .env

# Start LogWard
docker compose up -d

Required Environment Variables

VariableDescriptionExample
DB_PASSWORDPostgreSQL passwordrandom_secure_password
REDIS_PASSWORDRedis passwordanother_secure_password
API_KEY_SECRETEncryption key (32+ chars)your_32_character_secret_key_here
PUBLIC_API_URLBackend API URLhttp://localhost:8080

Available Docker Images

ImageRegistry
logward/backendDocker Hub
logward/frontendDocker Hub
ghcr.io/logward-dev/logward-backendGitHub Container Registry
ghcr.io/logward-dev/logward-frontendGitHub Container Registry
Production Tip

Always pin to a specific version in production instead of using latest:

bash
# In your .env file
LOGWARD_BACKEND_IMAGE=logward/backend:0.2.3
LOGWARD_FRONTEND_IMAGE=logward/frontend:0.2.3

Ready to Go

Access LogWard at http://localhost:3000 - database migrations run automatically on first start.

Build from Source (Alternative)

For Contributors & Custom Builds
Build Docker images locally from source code. Useful for development or when you need custom modifications.

Clone and Build

bash
# Clone the repository
git clone https://github.com/logward-dev/logward.git
cd logward/docker

# Copy environment template
cp ../.env.example .env

# Edit .env with your configuration
nano .env

# Build and start all services
docker compose up -d --build

Services Running

Access LogWard at http://your-server-ip:3000

Monitoring & Maintenance

Health Checks

bash
# Check all services status
docker compose ps

# Check backend health
curl http://localhost:8080/health

# Check database
docker compose exec postgres psql -U logward -d logward -c "SELECT COUNT(*) FROM logs;"

Common Commands

bash
# Restart a service
docker compose restart backend

# View service logs
docker compose logs --tail=100 -f backend

# Stop all services
docker compose down

# Update to latest version
docker compose pull
docker compose up -d

Database Backup

bash
# Create backup
docker compose exec postgres pg_dump -U logward logward > backup_$(date +%Y%m%d).sql

# Restore from backup
docker compose exec -T postgres psql -U logward logward < backup_20250115.sql