elestio/pgadmin

Verified Publisher

By Elestio

Updated 4 days ago

Pgadmin, verified and packaged by Elestio

Image
Databases & Storage
Integration & Delivery
Security

100K+

elest.io

DiscordElestio examplesBlog

PgAdmin, verified and packaged by Elestio

PgAdmin is a community project, relying on contributions from developers around the world for bug fixes and new features. Anyone is welcome to join the project and contribute as much or as little as they like. pgAdmin is written in Python and React, using the Flask framework, so at the least you will want to be familiar with Python and basic web development to hack the code.

PgAdmin

Deploy a fully managed PgAdmin on elest.io if you want automated backups, reverse proxy with SSL termination, firewall, automated OS & Software updates, and a team of Linux experts and open source enthusiasts to ensure your services are always safe, and functional.

deploy

Why use Elestio images?

  • Elestio stays in sync with updates from the original source and quickly releases new versions of this image through our automated processes.
  • Elestio images provide timely access to the most recent bug fixes and features.
  • Our team performs quality control checks to ensure the products we release meet our high standards.

Usage

Git clone

You can deploy it easily with the following command:

git clone https://github.com/elestio-examples/pgadmin.git

Copy the .env file from tests folder to the project directory

cp ./tests/.env ./.env

Edit the .env file with your own values.

Create data folders with correct permissions

mkdir -p ./data;
mkdir -p ./pgadmin;
chown -R 1001:1001 ./data;
chown -R 1001:1001 ./pgadmin;

Run the project with the following command

docker-compose up -d

You can access the Web UI at: http://your-domain:8080

Docker-compose

Here are some example snippets to help you get started creating a container.

    version: '3'
    services:

    postgres:
        image: postgres:${SOFTWARE_VERSION_TAG}
        restart: always
        #command: -c ssl=on -c ssl_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem -c ssl_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
        environment:
        POSTGRES_DB: postgres
        POSTGRES_USER: postgres
        POSTGRES_PASSWORD: ${SOFTWARE_PASSWORD}
        PGDATA: /var/lib/postgresql/data
        volumes:
        - ./data:/var/lib/postgresql/data
        ports:
        - '172.17.0.1:5432:5432'

    pgadmin4:
        image: elestio/pgadmin:${SOFTWARE_VERSION_TAG}
        restart: always
        environment:
        PGADMIN_DEFAULT_EMAIL: ${ADMIN_EMAIL}
        PGADMIN_DEFAULT_PASSWORD: ${ADMIN_PASSWORD}
        PGADMIN_LISTEN_PORT: 8080
        ports:
        - "172.17.0.1:8080:8080"
        volumes:
        - ./servers.json:/pgadmin4/servers.json
Environment variables
VariableValue (example)
SOFTWARE_VERSION_TAGlatest
SOFTWARE_PASSWORDyour-password
ADMIN_EMAILadmin@email.com
ADMIN_PASSWORDyour-password

Maintenance

Logging

The Elestio PgAdmin Docker image sends the container logs to stdout. To view the logs, you can use the following command:

docker-compose logs -f

To stop the stack you can use the following command:

docker-compose down

Backup and Restore with Docker Compose

To make backup and restore operations easier, we are using folder volume mounts. You can simply stop your stack with docker-compose down, then backup all the files and subfolders in the folder near the docker-compose.yml file.

Creating a ZIP Archive For example, if you want to create a ZIP archive, navigate to the folder where you have your docker-compose.yml file and use this command:

zip -r myarchive.zip .

Restoring from ZIP Archive To restore from a ZIP archive, unzip the archive into the original folder using the following command:

unzip myarchive.zip -d /path/to/original/folder

Starting Your Stack Once your backup is complete, you can start your stack again with the following command:

docker-compose up -d

That's it! With these simple steps, you can easily backup and restore your data volumes using Docker Compose.

Links

Docker Pull Command

docker pull elestio/pgadmin