Files
SQL/docker-compose.yml
T
Alphaeus Mote 770927459f Replace db-ui with pgAdmin 4 for better cross-platform compatibility
DOCKER COMPOSE:

- Replaced ghcr.io/n7olkachev/db-ui with dpage/pgadmin4:latest

- Added pgadmin_data volume for persistent configuration

- Configured pgAdmin with default credentials

- Port mapping: 3000:80 (pgAdmin runs on port 80 internally)

DOCUMENTATION:

- Updated README.md with pgAdmin login instructions and first-time setup

- Updated QUICKSTART.md with detailed pgAdmin configuration steps

- Added server connection details for easy setup

BENEFITS:

- pgAdmin has proper multi-platform support (linux/amd64, linux/arm64, etc.)

- Industry-standard PostgreSQL management tool

- More features: query builder, schema visualization, data import/export

- Better documentation and community support
2025-10-24 12:03:17 -04:00

62 lines
1.9 KiB
YAML

# ============================================================================
# Business Analytics Database - Docker Compose Configuration
# ============================================================================
# IMPORTANT: Before running docker-compose up, ensure proper permissions:
# Run: ./scripts/fix-permissions.sh
# Or: sudo chown -R $USER:$USER . && chmod -R 755 data/ schema/ scripts/
# ============================================================================
services:
postgres:
image: postgres:16-alpine
container_name: business_analytics_db
environment:
POSTGRES_DB: business_analytics
POSTGRES_USER: data_analyst
POSTGRES_PASSWORD: SecurePass123!
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
- ./schema:/docker-entrypoint-initdb.d # Bind mount - requires proper permissions
- ./data:/data # Bind mount - requires proper permissions
networks:
- analytics_network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U data_analyst -d business_analytics"]
interval: 10s
timeout: 5s
retries: 5
restart: unless-stopped
pgadmin:
image: dpage/pgadmin4:latest
container_name: business_analytics_ui
environment:
PGADMIN_DEFAULT_EMAIL: admin@businessanalytics.local
PGADMIN_DEFAULT_PASSWORD: SecurePass123!
PGADMIN_CONFIG_SERVER_MODE: 'False'
PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False'
ports:
- "3000:80"
networks:
- analytics_network
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
volumes:
- pgadmin_data:/var/lib/pgadmin
networks:
analytics_network:
driver: bridge
volumes:
postgres_data:
driver: local
pgadmin_data:
driver: local