diff --git a/.env.example b/.env.example index 9c62f82..b5bd60a 100644 --- a/.env.example +++ b/.env.example @@ -10,3 +10,7 @@ DAGSTER_POSTGRES_URL=postgresql://dagster:changeme@postgres:5432/dagster # ── dbt profile target (overrides profiles.yml env_var defaults) ───────────── DBT_TARGET=dev + +# ── pgAdmin ────────────────────────────────────────────────────────────────── +PGADMIN_EMAIL=admin@example.com +PGADMIN_PASSWORD=changeme diff --git a/docker-compose.yaml b/docker-compose.yaml index d2fb1ca..f1582a2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -76,6 +76,25 @@ services: dagster-usercode: condition: service_healthy + # pgAdmin web UI + pgadmin: + image: dpage/pgadmin4:latest + container_name: pgadmin + restart: unless-stopped + env_file: .env + environment: + PGADMIN_DEFAULT_EMAIL: ${PGADMIN_EMAIL} + PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_PASSWORD} + volumes: + - pgadmin-data:/var/lib/pgadmin + - ./pgadmin/servers.json:/pgadmin4/servers.json:ro + ports: + - "5050:80" + depends_on: + postgres: + condition: service_healthy + volumes: postgres-data: dbt-target: + pgadmin-data: diff --git a/pgadmin/servers.json b/pgadmin/servers.json new file mode 100644 index 0000000..214b6f6 --- /dev/null +++ b/pgadmin/servers.json @@ -0,0 +1,13 @@ +{ + "Servers": { + "1": { + "Name": "data-platform", + "Group": "Servers", + "Host": "postgres", + "Port": 5432, + "MaintenanceDB": "postgres", + "Username": "dagster", + "SSLMode": "prefer" + } + } +}