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 versionv29.0.rc1- Release candidates (nolatesttag)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!