Skip to main content
  1. Posts/

Setup PostgreSQL dan pgAdmin dengan Docker

·2 mins·
Table of Contents

PostgreSQL dikenal sebagai salah satu Relational Database Management System (RDBMS) open-source yang paling andal, canggih, dan berskala luas. Sementara itu, pgAdmin merupakan alat administrasi yang populer untuk mengelola PostgreSQL melalui web UI yang intuitif.

Berikut adalah langkah-langkah setup PostgreSQL dan pgAdmin menggunakan Docker.

Menyusun docker-compose.yml
#

Berikut adalah contoh file docker-compose.yml yang direkomendasikan:

x-db-env: &db-env
  POSTGRES_USER: ${POSTGRES_USER:-admin}
  POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-securepass}
  POSTGRES_DB: ${POSTGRES_DB:-databaseku}

x-pgadmin-env: &pgadmin-env
  PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:[email protected]}
  PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-rahasia123}

services:
  db:
    image: postgres:15-alpine
    command: postgres -c 'max_connections=1000'
    deploy:
      replicas: 1
      restart_policy:
        condition: any
      resources:
        limits:
          cpus: '2.50'
          memory: 1024M
    environment:
      <<: *db-env
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      est: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER}"]
      interval: 60s
      timeout: 30s
      retries: 3
      start_period: 10s
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
        labels: "service,environment"

  pgadmin:
    image: dpage/pgadmin4
    deploy:
      replicas: 1
      restart_policy:
        condition: any
      resources:
        limits:
          cpus: '2.50'
          memory: 1024M
    ports:
      - "8080:80"
    environment:
      <<: *pgadmin-env
    volumes:
      - pgadmin-data:/var/lib/pgadmin
    depends_on:
      - db
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
        labels: "service,environment"

volumes:
  pgdata:
  pgadmin-data:

Menjalankan Service
#

Setelah file docker-compose.yml selesai dibuat, jalankan perintah berikut untuk memulai seluruh service:

docker compose up -d

Untuk memantau log container secara real-time, gunakan perintah:

docker compose logs -f

Akses PostgreSQL dan pgAdmin
#

pgAdmin dapat diakses melalui browser pada alamat:

http://localhost:8080

Masukkan email dan password sesuai dengan nilai yang didefinisikan pada environment PGADMIN_DEFAULT_EMAIL dan PGADMIN_DEFAULT_PASSWORD.

Related