version: '3.8' services: nginx: image: nginx:latest container_name: cert-gestion-nginx-dev ports: - "980:80" - "9443:443" volumes: - ./nginx:/etc/nginx/conf.d:ro - ./app:/var/www/html:ro - ./tls:/opt/tls:rw - ./storage/nginx_logs:/var/log/nginx:rw depends_on: - php-fpm networks: - cert-gestion-network restart: unless-stopped php-fpm: build: context: ./php dockerfile: Dockerfile.dev container_name: cert-gestion-php-fpm-dev volumes: - ./app:/var/www/html:rw - ./scripts:/opt/scripts:rw - ./tls:/opt/tls:rw - ./storage/php_logs:/var/log/app:rw environment: DB_HOST: mysql DB_NAME: cert_gestion DB_USER: user DB_PASSWORD: password_secret APP_ENV: development depends_on: - mysql networks: - cert-gestion-network restart: unless-stopped command: > bash -c "chown -R www-data:www-data /var/www/html /var/log/app && chmod -R 775 /var/www/html /var/log/app && chmod +x /opt/scripts/*.sh && php-fpm" frontend: build: context: . dockerfile: Dockerfile.frontend.dev container_name: cert-gestion-frontend-dev ports: - "3000:3000" volumes: - .:/app - /app/node_modules environment: - VITE_API_BASE_URL=http://localhost:980/api/v1 networks: - cert-gestion-network restart: unless-stopped mysql: image: mysql:8.0 container_name: cert-gestion-mysql-dev environment: MYSQL_ROOT_PASSWORD: root_password_secret MYSQL_DATABASE: cert_gestion MYSQL_USER: user MYSQL_PASSWORD: password_secret volumes: - mysql_data_dev:/var/lib/mysql - ./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql:ro ports: - "3307:3306" networks: - cert-gestion-network restart: unless-stopped volumes: mysql_data_dev: networks: cert-gestion-network: driver: bridge