keepcoolch/dockamp

By keepcoolch

•Updated 2 days ago

DockAMP is a web interface to manage official Apache/Nginx, PHP, MySQL/MariaDB/PostgeSQL containers.

Image
Networking
Developer tools
Web servers
1

1.7K

keepcoolch/dockamp repository overview

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


ā šŸ§‘ā€šŸ’» Developer

Kevin Tobler
🌐 www.kevintobler.ch⁠

Tag summary

Content type

Image

Digest

sha256:f8cdfa3ae…

Size

26.4 MB

Last updated

2 days ago

docker pull keepcoolch/dockamp