This repository contains Docker Compose configurations for various services commonly used in development and production environments. Each service is self-contained in its own directory with its own compose file and detailed documentation.
This collection includes the following services:
- PostgreSQL - Open-source relational database management system
- Redis - In-memory data structure store, used as a database, cache, and message broker
- Valkey - Open-source fork of Redis with Redis protocol compatibility
- Dragonfly - Modern in-memory datastore with Redis and Memcached API compatibility
- InfluxDB - Time series database built for real-time analytic workloads
- Meilisearch - Fast, open-source search engine
- Ollama - Local AI model runner and API server
- Traefik - Modern reverse proxy and load balancer with automatic service discovery
- Nginx - High-performance web server and reverse proxy
Each service directory contains its own Docker Compose file and detailed README with setup instructions. To get started with a specific service:
- Navigate to the service directory (e.g.,
cd postgres) - Review the service-specific README for configuration details
- Start the service using Docker Compose:
docker compose -f <service-compose.yml> up -dAll services require:
- Docker installed and running
- Docker Compose installed (v2.0+)
Some services may have additional requirements:
- Ollama: Optional NVIDIA GPU support for better performance
- PostgreSQL/Redis/Valkey/Dragonfly/InfluxDB: Port configuration before starting
- Dragonfly: Minimum 4GB RAM recommended for optimal performance
- Traefik: Docker socket access for automatic service discovery
Each service includes:
- A Docker Compose configuration file
- A detailed README with setup instructions
- Connection examples for common programming languages
- Configuration options and best practices
# Start PostgreSQL
cd postgres
docker compose -f postgres-compose.yml up -d
# Start Redis
cd redis
docker compose -f redis-compose.yml up -d# Check if a service is running
docker ps | grep <service-name>
# View logs
docker compose -f <service-compose.yml> logs -fdocker compose -f <service-compose.yml> downFor detailed setup instructions, configuration options, and usage examples, refer to each service's README:
- PostgreSQL Setup
- Redis Setup
- Valkey Setup
- Dragonfly Setup
- InfluxDB Setup
- Meilisearch Setup
- Ollama Setup
- Traefik Setup
- Nginx Setup
- Port Configuration: Most services require you to configure port mappings before starting. Replace
xxxplaceholders in the compose files with your desired ports. - Data Persistence: All services use Docker volumes to persist data across container restarts.
- Security: Default configurations are suitable for development. For production use, review and update security settings (passwords, authentication, etc.) in each service's compose file.
- Networking: Services run independently by default. To connect services together, configure Docker networks as needed (see Ollama's README for an example of shared networking).
Each service is designed to be self-contained and independently usable. When adding new services:
- Create a new directory with a descriptive name
- Include a
*-compose.ymlfile with the Docker Compose configuration - Add a comprehensive
readme.mdwith setup instructions and usage examples - Follow the existing documentation style and structure