$docker.recipes

Dockge

beginner

Self-hosted Docker compose.yaml stack manager.

[i]Overview

Dockge is a self-hosted Docker Compose stack manager developed by Louis Lam, the creator of Uptime Kuma. It provides a beautiful web interface for managing Docker Compose stacks without abstracting away the underlying YAML files. Unlike database-driven container management tools, Dockge works directly with real compose.yaml files stored on your filesystem, making it transparent and allowing direct file editing when needed. This approach ensures you're never locked into a proprietary format and can always fall back to standard Docker Compose commands. The application focuses on simplicity and visual appeal, offering an intuitive way to deploy, monitor, and manage multi-container applications through a clean web interface. Dockge is particularly valuable for homelab enthusiasts, system administrators, and developers who want the convenience of a GUI without sacrificing the flexibility and portability of standard Docker Compose files. The tool bridges the gap between command-line Docker Compose management and heavy-weight orchestration platforms, providing just enough abstraction to improve usability while maintaining full compatibility with the Docker Compose ecosystem.

[*]Key Features

  • [+]Visual Docker Compose stack management with real-time container status monitoring
  • [+]Direct file-based storage in /opt/stacks directory with no database dependencies
  • [+]Beautiful web interface inherited from Uptime Kuma's design philosophy
  • [+]In-browser YAML editor with syntax highlighting for compose files
  • [+]One-click stack deployment, updates, and teardown operations
  • [+]Real-time log viewing for individual containers within stacks
  • [+]Stack templates and import functionality for rapid deployment
  • [+]Mobile-responsive interface for managing stacks from any device

[#]Common Use Cases

  • [1]Homelab managers organizing multiple self-hosted services into logical stacks
  • [2]Development teams needing visual oversight of local Docker Compose environments
  • [3]System administrators managing Docker applications across multiple servers
  • [4]DevOps engineers providing non-technical team members access to deployment controls
  • [5]Students learning Docker Compose with immediate visual feedback
  • [6]Small businesses running containerized applications without Kubernetes complexity
  • [7]Content creators and streamers managing media server stacks with quick controls

[!]Prerequisites

  • [!]Docker Engine installed and running on the host system
  • [!]Docker Compose plugin or standalone Docker Compose installation
  • [!]At least 512MB available RAM for the Dockge container
  • [!]Port 5001 available and accessible for the web interface
  • [!]Write permissions to /opt/stacks directory for stack file management
  • [!]Basic understanding of Docker Compose YAML syntax and container concepts
[!]

WARNING: For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

[$]docker-compose.yml

[docker-compose.yml]
1services:
2 dockge:
3 image: louislam/dockge:latest
4 container_name: dockge
5 restart: unless-stopped
6 volumes:
7 - /var/run/docker.sock:/var/run/docker.sock
8 - dockge_data:/app/data
9 - /opt/stacks:/opt/stacks
10 ports:
11 - "5001:5001"
12
13volumes:
14 dockge_data:

[$].env Template

[.env]
1# Stacks stored in /opt/stacks

[i]Usage Notes

  1. [1]Docs: https://github.com/louislam/dockge
  2. [2]Access at http://localhost:5001
  3. [3]Edit compose.yaml files directly in beautiful UI
  4. [4]Stacks stored in /opt/stacks - real files, not database
  5. [5]By Uptime Kuma creator - similar beautiful UI
  6. [6]Perfect for managing homelab compose stacks visually

[>]Quick Start

[terminal]
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 dockge:
5 image: louislam/dockge:latest
6 container_name: dockge
7 restart: unless-stopped
8 volumes:
9 - /var/run/docker.sock:/var/run/docker.sock
10 - dockge_data:/app/data
11 - /opt/stacks:/opt/stacks
12 ports:
13 - "5001:5001"
14
15volumes:
16 dockge_data:
17EOF
18
19# 2. Create the .env file
20cat > .env << 'EOF'
21# Stacks stored in /opt/stacks
22EOF
23
24# 3. Start the services
25docker compose up -d
26
27# 4. View logs
28docker compose logs -f

[>]One-Liner

Run this command to download and set up the recipe in one step:

[terminal]
1curl -fsSL https://docker.recipes/api/recipes/dockge/run | bash

[?]Troubleshooting

  • [!]Permission denied accessing /var/run/docker.sock: Add user to docker group or run container with appropriate permissions
  • [!]Cannot create files in /opt/stacks: Ensure the directory exists and has proper write permissions for the container user
  • [!]Stacks fail to deploy with 'network not found' errors: Check that referenced networks exist or are defined in the compose file
  • [!]Interface shows 'connection refused' for containers: Verify container ports are properly exposed and not conflicting with host services
  • [!]Stack updates don't reflect changes: Clear browser cache and ensure file timestamps are newer than cached versions
  • [!]Memory errors during stack deployment: Increase Docker daemon memory limits or reduce concurrent stack operations

Community Notes

Loading...
Loading notes...

## Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license