phpPgAdmin is a web-based administration tool for PostgreSQL. It is perfect for PostgreSQL DBAs, newbies, and hosting services.
If you find this image useful here's how you can help:
- Send a pull request with your awesome features and bug fixes
- Help users resolve their issues.
Before reporting your issue please try updating Docker to the latest version and check if it resolves the issue. Refer to the Docker installation guide for instructions.
SELinux users should try disabling SELinux using the command setenforce 0
to see if it resolves the issue.
If the above recommendations do not help then report your issue along with the following information:
- Output of the
docker vers6
anddocker info
commands - The
docker run
command ordocker-compose.yml
used to start the image. Mask out the sensitive bits. - Please state if you are using Boot2Docker, VirtualBox, etc.
Pull the image from the docker index. This is the recommended method of installation as it is easier to update image. These builds are performed by the Docker Trusted Build service.
docker pull dockage/phppgadmin:latest
Alternately you can build the image locally.
git clone https://github.com/dockage/phppgadmin.git
cd phppgadmin
docker build --tag="$USER/phppgadmin" .
The quickest way to get started is using docker-compose.
wget https://raw.githubusercontent.com/dockage/phppgadmin/master/docker-compose.yml
docker-compose up
Alternately, you can manually launch the phppgadmin
container.
docker run --name='phppgadmin' -d \
--publish=80:80 \
dockage/phppgadmin:latest
Please refer the docker run command options for the --env-file
flag where you can specify all required environment variables in a single file. This will save you from writing a potentially long docker run command. Alternatively you can use docker-compose.
Below is the complete list of available options that can be used to customize your phppgadmin installation.
Parameter | Description |
---|---|
PHP_PG_ADMIN_SERVER_DESC |
Display name for the server on the login screen. Defaults to PostgreSQL . |
PHP_PG_ADMIN_SERVER_HOST |
Hostname or IP address for server. Use '' for UNIX domain socket. Defaults to ``. |
PHP_PG_ADMIN_SERVER_PORT |
Database port on server. Defaults to 5432 . |
PHP_PG_ADMIN_SERVER_SSL_MODE |
Database SSL mode. Possible options: disable , allow , prefer , require . To require SSL on older servers use option: legacy . To ignore the SSL mode, use option: unspecified . Defaults to allow |
PHP_PG_ADMIN_SERVER_DEFAULT_DB |
Change the default database only if you cannot connect to template1. Defaults to template1 . |
PHP_PG_ADMIN_SERVER_PG_DUMP_PATH |
Specify the path to the database dump utilities for this server. Defaults to /usr/bin/pg_dump . |
PHP_PG_ADMIN_SERVER_PG_DUMPALL_PATH |
Specify the path to the database dump utilities for this server. Defaults to /usr/bin/pg_dumpall . |
PHP_PG_ADMIN_DEFAULT_LANG |
Default language. E.g.: english , polish , etc. See lang directory for all possibilities. If you specify auto it will use your browser preference. Defaults to auto . |
PHP_PG_ADMIN_AUTO_COMPLETE |
AutoComplete uses AJAX interaction to list foreign key values on insert fields. It currently only works on single column foreign keys. You can choose one of the following values: default on enables AutoComplete and turns it on by default. default off enables AutoComplete but turns it off by default. disable disables AutoComplete. Defaults to default on . |
PHP_PG_ADMIN_EXTRA_LOGIN_SECURITY |
If extra login security is true , then logins via phpPgAdmin with no password or certain usernames (pgsql, postgres, root, administrator) will be denied. Only set this false once you have read the FAQ and understand how to change PostgreSQL's pg_hba.conf to enable passworded local connections. Defaults to false . |
PHP_PG_ADMIN_OWNED_ONLY |
Only show owned databases? Note: This will simply hide other databases in the list - this does not in any way prevent your users from seeing other database by other means. (e.g. Run SELECT * FROM pg_database in the SQL area.). Defaults to false . |
PHP_PG_ADMIN_SHOW_COMMENTS |
Display comments on objects? Comments are a good way of documenting a database, but they do take up space in the interface. Defaults to true . |
PHP_PG_ADMIN_SHOW_ADVANCED |
Display "advanced" objects? Setting this to true will show aggregates, types, operators, operator classes, conversions, languages and casts in phpPgAdmin. These objects are rarely administered and can clutter the interface. Defaults to false . |
PHP_PG_ADMIN_SHOW_SYSTEM |
Display "system" objects? Defaults to false . |
PHP_PG_ADMIN_MIN_PASSWORD_LENGTH |
Minimum length users can set their password to. Defaults to 1 . |
PHP_PG_ADMIN_LEFT_WIDTH |
Width of the left frame in pixels (object browser). Defaults to 200 . |
PHP_PG_ADMIN_THEME |
Which look & feel theme to use. Defaults to default . |
PHP_PG_ADMIN_SHOW_OIDS |
Show OIDs when browsing tables? Defaults to false . |
PHP_PG_ADMIN_MAX_ROWS |
Max rows to show on a page when browsing record sets. Defaults to 30 . |
PHP_PG_ADMIN_MAX_CHARS |
Max chars of each field to display by default in browse mode. Defaults to 50 . |
PHP_PG_ADMIN_USE_XHTML_STRICT |
Send XHTML strict headers? Defaults to false . |
PHP_PG_ADMIN_HELP_BASE |
Base URL for PostgreSQL documentation. '%s', if present, will be replaced with the PostgreSQL version (e.g. 8.4). Defaults to http://www.postgresql.org/docs/%s/interactive/ . |
PHP_PG_ADMIN_AJAX_REFRESH |
Configuration for ajax scripts. Time in seconds. If set to 0 , refreshing data using ajax will be disabled (locks and activity pages). Defaults to 3 . |
To upgrade to newer phppgadmin
releases, simply follow this 3 step upgrade procedure.
- Step 1: Update the docker image.
docker pull dockage/phppgadmin:latest
- Step 2: Stop and remove the currently running image
docker stop phppgadmin
docker rm phppgadmin
- Step 3: Start the image
docker run --name=phppgadmin -d [OPTIONS] dockage/phppgadmin:latest
- Where to get help: website, documentation
- GitHub repo: dockage/phppgadmin
- Where to file issues: GitHub issues
- Maintained by: The Dockage team (info at dockage.dev)
- License(s) - license, check 3rd party documentation for license information