Skip to content

Template Expansion: Comprehensive list of potential container templates #137

@joshrotenberg

Description

@joshrotenberg

Overview

This issue tracks potential container templates to add to docker-wrapper, expanding beyond our current offerings to provide a comprehensive set of pre-configured containers for common development scenarios.

Current Templates

  • ✅ Redis (basic)
  • ✅ PostgreSQL
  • ✅ MySQL
  • ✅ MongoDB
  • ✅ Nginx

Proposed Templates by Category

📦 Databases

SQL Databases

  • MariaDB - MySQL fork with additional features
  • CockroachDB - Distributed SQL database
  • TimescaleDB - Time-series PostgreSQL extension
  • ClickHouse - Column-oriented OLAP database
  • SQLite (via container) - Lightweight SQL database

NoSQL Databases

  • Cassandra - Wide column store
  • DynamoDB Local - AWS DynamoDB for local development
  • CouchDB - Document database with HTTP API
  • Neo4j - Graph database
  • ArangoDB - Multi-model database
  • InfluxDB - Time-series database
  • ScyllaDB - C++ reimplementation of Cassandra

Key-Value Stores

  • Redis Cluster - Distributed Redis
  • Redis Sentinel - High availability Redis
  • Redis Stack - Redis with modules (JSON, Search, Graph)
  • KeyDB - Multithreaded Redis fork
  • Memcached - Simple caching system
  • etcd - Distributed key-value store
  • Consul - Service mesh with KV store

📨 Message Queues & Streaming

  • RabbitMQ - Message broker
  • Kafka - Distributed streaming platform
  • Redpanda - Kafka-compatible streaming platform
  • NATS - Cloud-native messaging system
  • Apache Pulsar - Distributed pub-sub messaging
  • ActiveMQ - Java-based message broker
  • Mosquitto - MQTT broker
  • ZeroMQ - High-performance messaging

🔍 Search & Analytics

  • Elasticsearch - Search and analytics engine
  • OpenSearch - Elasticsearch fork
  • Solr - Search platform
  • Meilisearch - Fast search API
  • Typesense - Typo-tolerant search engine
  • Zinc - Lightweight Elasticsearch alternative
  • Quickwit - Cloud-native search engine

🌐 Web Servers & Proxies

  • Apache HTTP Server - Classic web server
  • Caddy - Modern web server with automatic HTTPS
  • Traefik - Cloud-native reverse proxy
  • HAProxy - Load balancer and proxy
  • Envoy - Cloud-native proxy
  • Kong - API gateway
  • Linkerd - Service mesh

📊 Observability & Monitoring

  • Prometheus - Metrics and alerting
  • Grafana - Visualization platform
  • Jaeger - Distributed tracing
  • Zipkin - Distributed tracing
  • Loki - Log aggregation
  • Tempo - Distributed tracing backend
  • VictoriaMetrics - Prometheus-compatible metrics

🗄️ Storage & Backups

  • MinIO - S3-compatible object storage
  • SeaweedFS - Distributed file system
  • GlusterFS - Scalable network filesystem
  • Ceph - Distributed storage
  • Restic - Backup program
  • Rclone - Cloud storage sync

🔧 Development Tools

  • GitLab - DevOps platform
  • Gitea - Lightweight Git service
  • Jenkins - CI/CD automation
  • SonarQube - Code quality platform
  • Nexus - Repository manager
  • Artifactory - Binary repository manager
  • Vault - Secrets management
  • Keycloak - Identity management

📧 Email & Communication

  • MailHog - Email testing tool
  • MailCatcher - Email testing tool
  • Maildev - SMTP server for development
  • Postfix - Mail server
  • Dovecot - IMAP/POP3 server

🤖 AI/ML Infrastructure

  • JupyterLab - Interactive computing
  • MLflow - ML lifecycle platform
  • TensorBoard - TensorFlow visualization
  • Kubeflow - ML workflows on Kubernetes
  • MindsDB - ML database layer
  • Label Studio - Data labeling
  • Ollama - Local LLM runner

🔐 Security & Authentication

  • OpenLDAP - Directory service
  • FreeIPA - Identity management
  • Authentik - Identity provider
  • Authelia - Authentication portal
  • OAuth2 Proxy - OAuth2/OIDC proxy

📝 Content Management

  • WordPress - CMS/blogging platform
  • Ghost - Publishing platform
  • Strapi - Headless CMS
  • Directus - Data platform
  • Drupal - CMS framework

🔄 Data Processing

  • Apache Spark - Unified analytics engine
  • Apache Flink - Stream processing
  • Apache Airflow - Workflow orchestration
  • Prefect - Workflow automation
  • Dagster - Data orchestration
  • Apache NiFi - Data flow automation

🎮 Gaming & Simulation

  • Minecraft Server - Game server
  • Valheim Server - Game server
  • Redis Gaming Leaderboard - Pre-configured for gaming

Implementation Approach

  1. Prioritization Criteria:

    • Community demand (👍 reactions on this issue)
    • Development utility
    • Ease of implementation
    • Maintenance burden
  2. Template Features to Include:

    • Health checks
    • Persistence volumes
    • Common environment configurations
    • Connection string builders (where applicable)
    • Security best practices
    • Resource limits
    • Clustering/HA configurations
  3. Organization Structure:

    src/template/
    ├── database/
    ├── messaging/
    ├── search/
    ├── web/
    ├── observability/
    ├── storage/
    ├── devtools/
    ├── email/
    ├── ml/
    ├── security/
    ├── cms/
    └── processing/
    

Community Input Welcome!

Please:

  • 👍 templates you'd like to see implemented
  • Comment with additional template suggestions
  • Share specific configuration requirements
  • Volunteer to implement templates you're familiar with

Related Issues


Note: This is a living document. We'll update it based on community feedback and implementation progress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions