Snippet Path

Postgresql playground via docker-compose

Authors

Docker Compose

docker-compose.yml
version: '3.4'

services:

  postgres:
    container_name: postgres
    image: postgres:14.1
    environment:
      POSTGRES_PASSWORD: ${PG_POSTGRES_PASSWORD:-1}
    restart: unless-stopped
    ports:
      - 5432:5432
    volumes:
      - postgres-data:/var/lib/postgresql/data
    networks:
      - pgplayground_network

  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4:2022-06-28-1
    environment:
      PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-pgadmin4@pgadmin.org}
      PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
      PGADMIN_CONFIG_SERVER_MODE: 'False'
    volumes:
       - pgadmin-data:/var/lib/pgadmin
    ports:
      - "${PGADMIN_PORT:-5050}:80"
    networks:
      - pgplayground_network
    restart: unless-stopped

networks:  
  pgplayground_network:
    driver: bridge  

volumes:  
  postgres-data:
    driver: local
    driver_opts:
      type: none      
      device: ${VOLUMES_ROOT:-.}/postgres-data
      o: bind
  pgadmin-data:
    driver: local
    driver_opts:
      type: none      
      device: ${VOLUMES_ROOT:-.}/pgadmin-data
      o: bind
bash
docker compose up