About

Awesome Docker Compose is a curated, comprehensive directory of over 700 self-hosted applications, designed to help you discover, configure, and smoothly deploy your own self-hosted infrastructure. Here is what you can expect to find:

  • Curated Selection: Discover hundreds of carefully selected open-source applications suitable for self-hosting.
  • Ready-to-use Configurations: Browse essential file structures and docker-compose.yml templates for each app.
  • Easy Navigation: Quickly find specific apps using the search function or filter through categories and tags.
  • Resource Links: Get direct access to official websites, GitHub repositories, and Docker Hub images for deeper evaluation.

Understanding the App Page Structure

To help you navigate through each app page, here’s a breakdown of what you’ll find:

Directory Structure

Each app includes a Directory Structure section that shows the file system layout, giving you insight into how the app files are organized.

 - data/
 - .env
 - docker-compose.yml

docker-compose.yml

The docker-compose.yml file provides the configuration necessary to run the app. Here’s a basic example:

version: '3'
 
services:
  uptime-kuma:
    image: louislam/uptime-kuma:1
    container_name: uptime-kuma
    volumes:
      - './data:/app/data'
    ports:
      - '3001:3001'
    restart: always

This file outlines the services and dependencies needed for the app to function. You can copy and paste this file to set up the app quickly.

.env

The .env file is used to declare environment variables that configure the application securely, without hardcoding secrets into the compose file.

# Example environment variables
DB_USER=admin
DB_PASSWORD=supersecret
PORT=3000

⚠️ Important Note for Production Use

If you plan to use the docker-compose.yml file in a production environment, it is crucial that you NEVER blindly run the provided configuration.

The information and templates provided on this site are strictly intended as references to help you familiarize yourself with the intended folder structures, architectural complexity, and required environment variables of each application.

You must ALWAYS visit the “Configuration” link or the official project homepage to meticulously tailor the docker-compose.yml, modify default secrets, and adapt the volumes/ports to your specific infrastructure, ensuring the app runs securely and efficiently. We also highly encourage you to evaluate important aspects like privacy, security, and ongoing support before deploying any app in a live environment.