Analytics cookies only (Google Analytics, PostHog). No ad networks, no cross-site tracking. See our privacy policy.
Self-host Adminer
updated Oct 2026deployed by usprices checked · Jul 2026Install verified on Ubuntu 26.04 · Oct 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →
A full database management tool in a single PHP file: browse, query, import and export tables. The official Docker image covers MySQL and MariaDB, PostgreSQL, SQLite, SimpleDB and Elasticsearch out of the box, and MS SQL, Oracle, Firebird and MongoDB with extra PHP extensions. One interface for several engines, where phpMyAdmin is MySQL-only and pgAdmin is PostgreSQL-only.
Runs on a VPS from $4/mo (Kamatera 1GB, 1 GB RAM) · prices checked Sep 2026
Our recommendation
Pick Adminer when you want one web screen for several kinds of database without a heavy install. The official Docker image covers MySQL and MariaDB, PostgreSQL, SQLite, SimpleDB and Elasticsearch out of the box, and MS SQL, Oracle, Firebird and MongoDB once you add the matching PHP extensions; plugins and designs are switched on with `ADMINER_PLUGINS` and `ADMINER_DESIGN`. It is licensed Apache-2.0 or GPL-2.0, your choice. Our snippet is a Compose file with the standalone image pinned to a release tag next to a throwaway MariaDB, so you can log in straight away. We did not find an upstream RAM minimum, so our 128 MB floor is an estimate. The catalog's phpMyAdmin is MySQL and MariaDB only, pgAdmin is PostgreSQL only and CloudBeaver is the JDBC-based desktop-style alternative.
What you need
Any VPS with at least 128 MB of RAM
A domain you control — most self-hosted setups need HTTPS in front of them
Adminer's Docker Hub page flags these before you point it at real databases:
non-negotiableAdminer is a login page for your databases and port 8080 is plain HTTP. Keep it on a private network, behind a VPN or behind a reverse proxy that adds its own authentication and TLS, and never publish it to the internet with a production database reachable.
non-negotiableThe image has two variants: standalone (the one we use, port 8080) and fastcgi, which the page warns exposes the FastCGI socket to the internet unless you add firewall rules or a private Docker network. Connecting works by service name: the default host is db, and ADMINER_DEFAULT_SERVER sets another one.
non-negotiableThe MariaDB container in our snippet exists only so there is something to log in to: the root password is generated into .env and the data sits in the db_data volume. For a real server, remove it and log in to your own database with a least-privilege user.
non-negotiableThe Docker Official Image listing had 6.1.2 as its newest version when we checked, although the project's GitHub release page already shows a newer v6.2.0; we pin the image tag that exists. Bump it once the listing catches up.