Skip to content

Latest commit

 

History

History
158 lines (112 loc) · 3.85 KB

README.md

File metadata and controls

158 lines (112 loc) · 3.85 KB

Stack-Compose 🐳

A curated collection of production-ready Docker Compose templates for popular application stacks. Deploy development environments in seconds with pre-configured services like PostgreSQL, Redis, MySQL, and more.

License PRs Welcome

Philosophy 🌱

This project is built on three core principles:

  1. Simplicity First Minimal configurations with sane defaults. No unnecessary abstractions or complex tooling.

  2. Zero Black Magic Explicit configurations over hidden automation. You always know exactly what's running.

  3. Modular by Design Mix-and-match components like LEGO blocks. Each service is self-contained yet interoperable.

We believe in documentation-driven development - every template comes with detailed setup guides and operational notes.

Features ✨

  • 🚀 Production-inspired configurations
  • 🔒 Secure defaults (proper user permissions, isolated networks)
  • 📁 Environment variable driven setups
  • 🔄 Easy version switching
  • 📈 Optional monitoring stacks
  • 🔍 Healthchecks and proper service dependencies

Getting Started

Prerequisites

  • Docker Engine ≥ 20.10
  • Docker Compose ≥ 2.17

Basic Usage

  1. Clone the repository:

    git clone https://github.com/ithaquaKr/stack-compose.git
    cd stack-compose
  2. Navigate to desired component:

    cd composes/postgres
  3. Start the stack:

    docker compose up -d

Example - PostgreSQL + pgAdmin:

docker compose -f docker-compose.yml -f docker-compose.pgadmin.yml up -d

Example - Redis with Persistent Storage:

docker compose -f docker-compose.yml -f docker-compose.persistence.yml up -d

Repository Structure 📂

stack-compose/
├── composes/
│   ├── postgres/
│   │   ├── docker-compose.yml
│   │   ├── docker-compose.pgadmin.yml  # Optional extensions
│   │   └── README.md                   # Component-specific docs
│   ├── redis/
│   ├── mysql/
│   └── .../
├── .env.example            # Common environment variables
└── README.md               # This global documentation

Each component includes:

  • Base docker-compose.yml file
  • Optional extension files for additional tooling
  • Detailed README with:
    • Service configuration details
    • Connection strings
    • Security considerations
    • Backup/restore procedures
    • Common troubleshooting steps

Customization 🛠️

  1. Environment Variables Copy .env.example to .env and modify values:

    cp .env.example .env
  2. Docker Compose Overrides Create docker-compose.override.yml for local customizations that won't affect upstream:

    version: "3.8"
    services:
      postgres:
        ports:
          - "5432:5432"
        volumes:
          - ./local-data:/var/lib/postgresql/data

Contributing 🤝

We welcome contributions through:

  • 🐛 Bug reports
  • 💡 Feature requests
  • 📚 Documentation improvements
  • 🧪 New stack components

Please read our Contribution Guidelines before submitting changes.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

Support ❤️

For help or questions:

Acknowledgements


Happy Containerizing! 🐳 + ❤️ = 😊