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
/health
endpoint - π³ 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:latest
version: '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 (nolatest
tag)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 candidate
Note: The
latest
tag is only assigned to stable releases (e.g.,v29.0
,v28.0
). Release candidates and development builds do not receive thelatest
tag.
# 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!