# Development: volumes mount source so code updates apply without rebuild services: db: image: mysql:8.0 environment: MYSQL_DATABASE: ${DB_NAME:-croplogic} MYSQL_USER: ${DB_USER:-croplogic} MYSQL_PASSWORD: ${DB_PASSWORD:-changeme} MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-changeme} volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p${DB_PASSWORD:-changeme}"] interval: 5s timeout: 5s retries: 5 # phpmyadmin: # image: docker.iranserver.com/phpmyadmin # environment: # PMA_HOST: db # PMA_PORT: 3306 # UPLOAD_LIMIT: 64M # ports: # - "8081:80" # depends_on: # db: # condition: service_healthy web: build: . command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/app ports: - "8000:8000" env_file: - .env environment: DB_HOST: db depends_on: db: condition: service_healthy volumes: mysql_data: