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.
π The macOS version supports Docker Desktop and OrbStack (macOS 14.6 Sonoma or newer)
- 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
/dataand/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
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:latestWhen 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:latestThis is also the recommended starting point for Docker-capable NAS systems. The Docker socket may need to be selected through the NAS Docker Manager.
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:latestHost directories selected later as document roots must be shared with Docker
Desktop under Settings -> Resources -> File Sharing.
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:latestCreate 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 -dOn macOS, replace /var/run/docker.sock in the Compose file with:
${HOME}/.docker/run/docker.sock
For OrbStack use:
${HOME}/.orbstack/run/docker.sock
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.
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.
/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.
You can update DockAMP directly from the dashboard, so there's no need to run manual update commands in the terminal.
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.
- 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
- 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
- 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
- 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)
- 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
- 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
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.
- macOS 14.6 Sonoma or newer
- Docker Desktop or OrbStack (OrbStack recommended for faster network speed)
- Install Docker Desktop or OrbStack (OrbStack recommended for faster network speed).
- Open DockAMP.app
- Open DockAMP.app
- Click
+(or useFile -> New Server...) - Configure server name, web server, PHP version, ports, and document root
- Choose database mode (
No Database,Global Database,Dedicated Container) - Save/create
- Use
Start,Stop,Restartin the server detail header - Use
Update Imagesto pull latest images for the selected stack - Use
Reset Web/PHPto recreate only web and PHP containers from image defaults
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.
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)
Kevin Tobler
π www.kevintobler.ch













