Adminer
What is Adminer?
Adminer is a single-file database admin GUI that supports MySQL, MariaDB, PostgreSQL, SQLite, and more from one login screen, a lighter alternative to running a dedicated GUI per database engine. There's nothing to "install", Laradock builds it as its own container and you just log in with credentials for whichever database you're already running.
Start Adminer
docker compose up -d adminer
Stop Adminer
docker compose stop adminer
Configuration
All settings live in adminer/defaults.env and can be overridden by adding the same line to your own .env:
| Variable | Default | What it does |
|---|---|---|
ADM_PORT | 8081 | Host-side port for the web UI (container port 8080). |
ADM_INSTALL_MSSQL | false | Build flag, when true, installs pdo_odbc/pdo_dblib so Adminer can connect to SQL Server. |
ADM_PLUGINS | (empty) | Space-separated list of Adminer plugins to enable. |
ADM_DESIGN | pepa-linha | UI theme. |
ADM_DEFAULT_SERVER | mysql | Server pre-filled on the login screen, handy for an external server or a non-default container name. |
Log in
Open http://localhost:8081. Pick the system (MySQL, PostgreSQL, SQLite, ...), enter the server (container name, e.g. mysql or postgres), and the matching credentials.
Add SQL Server support
- In
.env, setADM_INSTALL_MSSQL=true. - Rebuild:
docker compose build adminer
Load plugins
- Set
ADM_PLUGINSin.envto the plugin names you want, space-separated. - Some plugins need extra parameters and a custom file inside the container, see Adminer's Loading plugins instructions.
- Restart:
docker compose up -d adminer.
Common issues
- SQL Server option missing.
ADM_INSTALL_MSSQLis a build-time flag, changing it requires a rebuild (docker compose build adminer), not just a restart. - Login rejected. Adminer connects with whatever credentials you type in on the login form, it doesn't read
PMA_*-style env vars for the target database. Use the sameMYSQL_USER/MYSQL_PASSWORD(or the equivalent for your database) you'd use anywhere else. - Can't reach a database by container name. Use the Docker Compose service name (
mysql,postgres,mariadb, ...) as the server, notlocalhost, that only works from your host machine. - Port already in use on your host. Change
ADM_PORTin.envand restart.
Prefer a MySQL-focused GUI instead? See phpMyAdmin. Back to the Getting Started guide.