Skip to main content
  1. Posts/

Setup PostgreSQL dan pgAdmin dengan Docker

·2 mins·
postgresql docker postgresql
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:-admin@mail.com}
  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

Instal PostgreSQL di cPanel
·1 min
postgresql postgresql
Install Extension Modules PostgreSQL
·1 min
postgresql postgresql
Basic Usage PostgreSQL
·5 mins
postgresql postgresql
How to Install PostgreSQL
·2 mins
postgresql postgresql linux
Cara Menginstal Podman di Rocky Linux
·4 mins
podman centos podman docker
Setup GPT Researcher dengan Docker
·2 mins
docker docker