Skip to content

nkaurelien/docker-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

128 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Docker Examples Collection

A comprehensive collection of production-ready Docker Compose configurations for self-hosted services, organized by functional categories. This repository provides quick deployment solutions for various infrastructure components, development tools, and business applications.

πŸ—οΈ Repository Structure

API Management

  • Hasura - GraphQL API with real-time subscriptions
  • Hoppscotch - Open-source API development ecosystem
  • Kong - Cloud-native API gateway with admin UI
  • Tyk - Open-source API gateway and management platform
  • WSO2 API Manager - Full lifecycle API management

Authentication & Authorization

  • Keycloak - Identity and access management
  • Kratos - Cloud native identity management
  • SuperTokens - Open-source authentication solution
  • Zitadel - Identity infrastructure platform

Databases

Data Processing & Analytics

  • Kafka + Logstash - Production-ready Kafka cluster with real-time data processing
  • Grafana - Monitoring and observability platform
  • Jupyter - Data science notebooks with Spark integration

Development Tools

  • Jenkins - CI/CD automation server
  • SonarQube - Code quality and security analysis
  • Docker Registry - Private Docker image registry with UI
  • Portainer - Docker container management UI
  • IT-Tools - Collection of handy online tools for developers (network, encoding, generators, etc.)

Communication & Collaboration

  • Mail Servers - Complete email solutions (Docker Mailserver, Mailcatcher, Mailu)
  • Excalidraw - Collaborative drawing tool (on-premises alternative to draw.io)

Storage & File Management

Business Applications

  • Odoo ERP - Complete business management suite
  • Drupal - Content management system
  • WordPress - WordPress with MySQL

Infrastructure Services

πŸš€ Quick Start

Prerequisites

  • Docker Engine 20.10+
  • Docker Compose 2.0+
  • Sufficient system resources (varies by service)

Basic Usage

  1. Navigate to any service directory:

    cd api-managment/kong/
  2. Start the service:

    docker-compose up -d
  3. Check service status:

    docker-compose ps

Local Domain Management

Install hostctl for professional local domain management:

# Add all service domains
hostctl add domains apps apps.local hub.apps.local \
        db.apps.local mysql.apps.local \
        docker.apps.local portainer.apps.local \
        s3.apps.local minio.apps.local \
        kong.apps.local admin.kong.apps.local manage.kong.apps.local api.kong.apps.local \
        jupyter.apps.local \
        mail.apps.local

πŸ”§ Production-Ready Services

Several services are configured for production deployment:

Kafka + Logstash Stack

  • 3-broker Kafka cluster with Zookeeper
  • Real-time data processing for EmotiBit data
  • Automatic log rotation and monitoring
  • Emergency cleanup scripts

CouchDB Cluster

  • 3-node CouchDB cluster with HAProxy load balancer
  • Automatic cluster initialization
  • Persistent data storage

Mail Servers

  • Complete SMTP/IMAP solutions
  • Anti-spam and security configurations
  • Web administration interfaces

πŸ“š Documentation

Online Documentation

Full documentation is available at: https://nkaurelien.github.io/docker-examples/

Run Documentation Locally

# Install dependencies (with uv recommended)
uv venv && source .venv/bin/activate
uv pip install -r requirements-docs.txt

# Or with pip
pip install -r requirements-docs.txt

# Serve documentation
mkdocs serve

Documentation available at: http://127.0.0.1:8000

Service Documentation

Each service directory contains:

  • README.md or readme.md - Service-specific documentation
  • compose.yml or docker-compose.yml - Docker Compose configuration
  • Configuration files and initialization scripts
  • Environment variable examples

For comprehensive setup and troubleshooting information, see CLAUDE.md.

πŸ› οΈ Common Operations

View all running services

docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

Monitor resource usage

docker stats

Cleanup unused resources

docker system prune -f
docker volume prune -f

Emergency disk space cleanup (Kafka)

cd kafka-logstash/
./cleanup_kafka.sh

πŸ”— Useful Resources

Foundation Projects

Self-Hosting Resources

🀝 Contributing

  1. Each service should be self-contained in its own directory
  2. Include comprehensive documentation in service README files
  3. Use consistent Docker Compose patterns
  4. Test configurations before committing
  5. Follow security best practices for production deployments

πŸ“„ License

This collection is provided as-is for educational and development purposes. Individual services maintain their respective licenses.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors