Files
SQL/docker-compose.yml
T
Alphaeus Mote 7058a96519 Add comprehensive permissions management for Docker bind mounts
NEW SCRIPT: Created scripts/fix-permissions.sh - automated permission fixer

Takes ownership of repository files, makes scripts executable, sets proper permissions

Verifies permissions are correct before proceeding

DOCKER COMPOSE: Added header comments explaining permission requirements

DOCUMENTATION: Updated README.md and QUICKSTART.md with permission setup steps

WHY CRITICAL: Docker bind mounts require proper file ownership to work correctly

USER EXPERIENCE: Single command ./scripts/fix-permissions.sh handles everything
2025-10-23 16:45:19 -04:00

59 lines
1.7 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
db-ui:
image: ghcr.io/n7olkachev/db-ui:latest
container_name: business_analytics_ui
environment:
POSTGRES_HOST: postgres
POSTGRES_USER: data_analyst
POSTGRES_PASSWORD: SecurePass123!
POSTGRES_DB: business_analytics
POSTGRES_PORT: 5432
ports:
- "3000:3000"
networks:
- analytics_network
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
networks:
analytics_network:
driver: bridge
volumes:
postgres_data:
driver: local