# UK Data Services - Development Docker Compose # Simplified setup for local development and testing version: '3.8' services: # Web Application (Development) web: build: context: . dockerfile: Dockerfile container_name: ukds-dev-web restart: unless-stopped ports: - "8080:80" volumes: # Live code editing - .:/var/www/html # Persistent logs - ./logs:/var/www/html/logs environment: - APACHE_DOCUMENT_ROOT=/var/www/html - PHP_DISPLAY_ERRORS=On - PHP_ERROR_REPORTING=E_ALL # Database connection - DB_HOST=database - DB_NAME=ukdataservices_dev - DB_USER=devuser - DB_PASSWORD=devpassword # Development settings - SITE_URL=http://localhost:8080 - CONTACT_EMAIL=dev@ukdataservices.co.uk - DEBUG_MODE=1 depends_on: - database networks: - ukds-dev-network # Database (Development) database: image: mysql:8.0 container_name: ukds-dev-database restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpassword MYSQL_DATABASE: ukdataservices_dev MYSQL_USER: devuser MYSQL_PASSWORD: devpassword ports: - "3307:3306" volumes: # Development database (not persistent) - dev_mysql_data:/var/lib/mysql # Database initialization - ./database/init:/docker-entrypoint-initdb.d:ro networks: - ukds-dev-network # phpMyAdmin (Development only) phpmyadmin: image: phpmyadmin/phpmyadmin:latest container_name: ukds-dev-phpmyadmin restart: unless-stopped ports: - "8081:80" environment: PMA_HOST: database PMA_USER: devuser PMA_PASSWORD: devpassword MYSQL_ROOT_PASSWORD: rootpassword depends_on: - database networks: - ukds-dev-network # Mailhog (Development email testing) mailhog: image: mailhog/mailhog:latest container_name: ukds-dev-mailhog restart: unless-stopped ports: - "8025:8025" # Web interface - "1025:1025" # SMTP server networks: - ukds-dev-network # Networks networks: ukds-dev-network: driver: bridge # Volumes volumes: dev_mysql_data: driver: local