Production-ready Docker image for Typesense with built-in healthcheck
This project provides a Docker image based on the official Typesense search engine with added health monitoring capabilities. It's designed for production environments where container health monitoring is essential.
- 🏥 Built-in Healthcheck - Automatic health monitoring via /healthendpoint
- 🐳 Production Ready - Optimized for container orchestration systems
- 🔒 Security Focused - Regular vulnerability scanning and signed images
- 🏗️ Multi-Platform - Supports AMD64 and ARM64 architectures
- ⚡ Lightweight - Minimal overhead with only curl added for healthcheck
docker run -d \
  --name typesense \
  -p 8108:8108 \
  -e TYPESENSE_API_KEY=your-secret-key \
  -v typesense_data:/data \
  ghcr.io/batonogov/typesense:latestversion: '3.8'
services:
  typesense:
    image: ghcr.io/batonogov/typesense:latest
    ports:
      - "8108:8108"
    environment:
      - TYPESENSE_API_KEY=your-secret-key
    volumes:
      - typesense_data:/data
    restart: unless-stopped
volumes:
  typesense_data:# Check health
curl http://localhost:8108/health
# Test API
curl -H "X-TYPESENSE-API-KEY: your-secret-key" \
     http://localhost:8108/collections| Variable | Description | Default | Required | 
|---|---|---|---|
| TYPESENSE_API_KEY | API key for authentication | - | ✅ | 
| TYPESENSE_DATA_DIR | Data directory path | /data | ❌ | 
| TYPESENSE_LISTEN_PORT | Server port | 8108 | ❌ | 
The container includes automatic health monitoring:
- Endpoint: GET /health
- Interval: Every 30 seconds
- Timeout: 10 seconds
- Retries: 3 attempts before marking unhealthy
- latest- Latest stable release only (excludes RC versions)
- v29.0- Specific stable version
- v29.0.rc1- Release candidates (no- latesttag)
- main- Development builds from main branch
# GitHub Container Registry (recommended)
ghcr.io/batonogov/typesense:latest     # Stable releases only
ghcr.io/batonogov/typesense:v29.0      # Specific stable version
ghcr.io/batonogov/typesense:v29.0.rc1  # Release candidateNote: The
latesttag is only assigned to stable releases (e.g.,v29.0,v28.0). Release candidates and development builds do not receive thelatesttag.
# Start development environment
task dev
# Run tests
task test
# Build and test locally
task build-test-container
task test-api
# View all commands
task --list- 🔧 Troubleshooting - Common issues and solutions
- 🛠 Development Guide - Contributing and development setup
This project is licensed under the MIT License - see the LICENSE file for details.
- Typesense Team for the excellent search engine
- Community contributors for feedback and improvements
⭐ Star this repo if you found it helpful!