Skip to content

KeepCoolCH/DockAMP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hero Screenshot

🐳 DockAMP Docker image or separate macOS app

DockAMP is a Docker image with a responsive web interface to manage official Apache/Nginx, PHP, MySQL/MariaDB/PostgeSQL and proxy containers in Docker - also available as a macOS app. Docker version 1.2 | macOS version 1.1 | developed by Kevin Tobler 🌐 www.kevintobler.ch


🐳 The Docker version can run on any Docker-compatible environment. The image includes support for both linux/amd64 and linux/arm64.

Download DockAMP Docker image keepcoolch/dockamp:latest

🍎 The macOS version supports Docker Desktop and OrbStack (macOS 14.6 Sonoma or newer)

Download DockAMP app for macOS


🐳 Docker version

πŸš€ Main features of the Docker version

  • Browser-based management interface in English and German
  • Apache or Nginx for each server
  • Automatic PHP version discovery with legacy PHP versions available
  • Advanced PHP, Apache, and Nginx configuration with structured dropdowns for common values
  • Apache and Nginx security header controls for X-Frame-Options, Referrer-Policy, CSP, and related directives
  • MySQL, MariaDB, and PostgreSQL
  • Shared global or dedicated per-server database containers
  • Automatic database image and data migration checks
  • Nginx Proxy Manager integration
  • phpMyAdmin integration
  • Adminer integration for PostgreSQL databases
  • SQL dump exports
  • Container logs and status overview
  • Live visitor overview with active request paths and per-server traffic speed
  • Automatic free web-port selection starting above DockAMP's own port
  • CPU and memory limits based on the available Docker host resources
  • Docker volumes or host paths for persistent storage
  • Initial setup can detect and choose Docker volumes or host mounts for /data and /sites
  • Separate storage handling for DockAMP configuration and website/runtime files
  • Storage migration between Docker volumes and host mounts where supported
  • Host folder browser for document roots, host mounts, additional server mounts, and backup targets
  • Folder creation and safer folder deletion dialogs in folder browser views
  • Website file browser for document roots and additional mounts
  • Upload files or whole folders directly through the browser
  • Rename, copy, move, delete, and download website files or folders
  • Download folders as compressed archives
  • Webserver permission checks for document roots and additional mounts, with a repair action for safe read and traversal permissions
  • Global image update checker for DockAMP-managed images, including DockAMP itself, web servers, PHP runtimes, database tools, proxy, Adminer, phpMyAdmin, and helper images
  • DockAMP-managed unused image cleanup
  • DockAMP-managed unused volume overview with individual delete actions
  • User login and account management
  • Automatic container restart and auto-start options
  • Backup and restore support for Docker volumes and host-mounted storage paths
  • Backup selection for DockAMP config, sites/runtime files, mounted web paths, dedicated databases, global database, and Proxy Manager data
  • Optional restore selection per backup archive plus backup download as a compressed archive

Linux and NAS

The following command stores DockAMP configuration and website data in named Docker volumes:

docker run -d \
  --name dockamp \
  --restart unless-stopped \
  -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v dockamp_data:/data \
  -v dockamp_sites:/sites \
  --add-host host.docker.internal:host-gateway \
  keepcoolch/dockamp:latest

When using a persistent host-mount:

docker run -d \
  --name dockamp \
  --restart unless-stopped \
  -p 8080:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /volume1/path-to-folder/data:/data \
  -v /volume1/path-to-folder/sites:/sites \
  -e DOCKAMP_DATA_HOST_PATH=/volume1/path-to-folder/data \
  -e DOCKAMP_SITES_HOST_PATH=/volume1/path-to-folder/sites \
  --add-host host.docker.internal:host-gateway \
  keepcoolch/dockamp:latest

This is also the recommended starting point for Docker-capable NAS systems. The Docker socket may need to be selected through the NAS Docker Manager.

macOS with Docker Desktop

docker run -d \
  --name dockamp \
  --restart unless-stopped \
  -p 8080:8080 \
  -v "$HOME/.docker/run/docker.sock:/var/run/docker.sock" \
  -v dockamp_data:/data \
  -v dockamp_sites:/sites \
  --add-host host.docker.internal:host-gateway \
  keepcoolch/dockamp:latest

Host directories selected later as document roots must be shared with Docker Desktop under Settings -> Resources -> File Sharing.

macOS with OrbStack

docker run -d \
  --name dockamp \
  --restart unless-stopped \
  -p 8080:8080 \
  -v "$HOME/.orbstack/run/docker.sock:/var/run/docker.sock" \
  -v dockamp_data:/data \
  -v dockamp_sites:/sites \
  --add-host host.docker.internal:host-gateway \
  keepcoolch/dockamp:latest

Docker Compose

Create a compose.yaml file with docker volumes:

services:
  dockamp:
    image: keepcoolch/dockamp:latest
    container_name: dockamp
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dockamp_data:/data
      - dockamp_sites:/sites
    extra_hosts:
      - "host.docker.internal:host-gateway"

volumes:
  dockamp_data:
  dockamp_sites:

When using a persistent host-mount:

services:
  dockamp:
    image: keepcoolch/dockamp:latest
    container_name: dockamp
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /volume1/path-to-folder/data:/data
      - /volume1/path-to-folder/sites:/sites
    environment:
      - DOCKAMP_DATA_HOST_PATH=/volume1/path-to-folder/data
      - DOCKAMP_SITES_HOST_PATH=/volume1/path-to-folder/sites
    extra_hosts:
      - "host.docker.internal:host-gateway"

Start DockAMP:

docker compose up -d

On macOS, replace /var/run/docker.sock in the Compose file with:

${HOME}/.docker/run/docker.sock

For OrbStack use:

${HOME}/.orbstack/run/docker.sock

How to open the dashboard:

After startup, open:

http://localhost:8080

On a remote server or NAS, replace localhost with the IP address or hostname of the Docker host. The first visit opens the administrator account setup.

Using host directories

Individual server document roots can also point to absolute paths on the Docker host. Those paths must be accessible to the Docker daemon.

DockAMP includes a host folder browser for supported Docker environments. It can help select document roots, storage paths, and additional mounts from host paths that are visible to the Docker daemon.

Persistent data

  • /data: DockAMP configuration, users, sessions, and application state
  • /sites: website files and generated runtime configuration
  • Database and Proxy Manager data: separate named volumes by default

During the first setup, DockAMP shows the detected storage method for /data and /sites and lets you keep Docker volumes or switch to host mounts. The same storage areas can also be adjusted later from the Storage page.

Updates

You can update DockAMP directly from the dashboard, so there's no need to run manual update commands in the terminal.

Notes

Important

DockAMP requires access to the Docker socket because it creates and manages other containers. Access to docker.sock effectively grants Docker host administration privileges. Only expose DockAMP on trusted networks and use a strong administrator password.

πŸ“Έ Screenshots Docker version

Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot


🍎 macOS version

πŸš€ Main features of the macOS version

Core

  • Apache or Nginx per server
  • Dynamic PHP version list from Docker Hub (with local fallback)
  • Database support: MySQL, MariaDB, PostgreSQL
  • Per-server start, stop, restart
  • Global actions: start/restart/stop all servers
  • Server auto-start on app launch
  • Right-click server actions: duplicate and delete
  • Automatic next free port assignment for new/duplicated servers

Database modes

  • No database
  • Global shared database container
  • Dedicated database container per server
  • Automatic DB/user provisioning for enabled database mode
  • Optional auto-stop of global DB when no global server is still active
  • Dedicated DB container stops with its server

Proxy Manager

  • Built-in Nginx Proxy Manager integration
  • Start / Stop / Restart
  • Update proxy manager image
  • Auto-start with app option
  • HTTP/HTTPS/Admin ports configurable
  • Named volumes or host-path persistence

PHP / Web stack

  • Extensive PHP settings (performance, errors, sessions, OPcache, directives)
  • Optional extension/tool toggles with custom PHP runtime image build
  • Web server settings for Apache and Nginx
  • Update images for the current server stack
  • Reset Web/PHP containers from image defaults
  • Additional bind mounts (with add/remove rows and read-only toggle)

UX and control

  • Menu bar app with server list and status dots
  • Menu bar actions: open app, start/restart/stop all, quit
  • Main window only in Dock when visible; menu bar mode when closed
  • Live activity indicator for long-running actions

Logs and quick actions

  • Container logs for web, PHP, database
  • Quick DB actions:
    • Open in Sequel Pro/Ace
    • Open in phpMyAdmin (starts container automatically)
  • phpMyAdmin auto-stops when no database container is running

Notes

Important

DockAMP requires access to the Docker socket because it creates and manages other containers. Access to docker.sock effectively grants Docker host administration privileges.

πŸ“Έ Screenshots macOS version

Screenshot
Screenshot
Screenshot
Screenshot
Screenshot
Screenshot

🎬 Watch DockAMP macOS version in action

DockAMP macOS Demo

βš™οΈ Requirements

  • macOS 14.6 Sonoma or newer
  • Docker Desktop or OrbStack (OrbStack recommended for faster network speed)

πŸ”§ Installation

Download DockAMP app for macOS

  1. Install Docker Desktop or OrbStack (OrbStack recommended for faster network speed).
  2. Open DockAMP.app

🧩 Usage

Create a server

  1. Open DockAMP.app
  2. Click + (or use File -> New Server...)
  3. Configure server name, web server, PHP version, ports, and document root
  4. Choose database mode (No Database, Global Database, Dedicated Container)
  5. Save/create

Start and manage

  • Use Start, Stop, Restart in the server detail header
  • Use Update Images to pull latest images for the selected stack
  • Use Reset Web/PHP to recreate only web and PHP containers from image defaults

Database connection

For DB tools use:

  • Host: host.docker.internal
  • Port: shown in the Database tab
  • Database/user/password: from server database settings

Inside containers, service names/network aliases are used automatically by DockAMP runtime config.

πŸ’Ύ Persistence

DockAMP stores configuration JSON files under ~/Documents/DockAMP/:

  • servers/<server-id>.json (server settings)
  • databases/global_database.json (global DB settings + shared entries)
  • databases/<server-id>.json (dedicated DB server entries)
  • Proxy Manager settings in the DockAMP app directory (managed by ProxyManagerStore)
  • Custom PHP runtime images are tagged and reused by signature
  • On server removal, related containers/resources are cleaned up (including dedicated DB containers)

πŸ§‘β€πŸ’» Developer

Kevin Tobler
🌐 www.kevintobler.ch

About

DockAMP is a Docker image with a responsive web interface to manage official Apache/Nginx, PHP, MySQL/MariaDB/PostgeSQL and proxy containers in Docker - also available as a macOS app.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Packages

 
 
 

Languages