networks: dev: services: web: networks: - dev environment: - APACHE_RUN_USER=#1000 build: context: . dockerfile: Dockerfile ports: - 80:80 - 5173:5173 - 9003:9003 volumes: - ./config/phpconfig/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini - ./config/phpconfig/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini - ./config/phpconfig/error_reporting.ini:/usr/local/etc/php/conf.d/error_reporting.ini - ./config/phpconfig/php.ini:/usr/local/etc/php/php.ini - ./config/web/default.conf:/etc/apache2/sites-enabled/000-default.conf - /var/www/html/vendor/ restart: unless-stopped # Overrides default command so things don't shut down after the process ends. command: sleep infinity database: networks: - dev image: mariadb:10.6 restart: always ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: 123 MYSQL_USER: root MYSQL_PASSWORD: 123 volumes: - mariadb-data:/var/lib/mysql #If you are going to be using the same database data across local servers/projects, change ./docker/database to a location #outside of this server tree and then set this volume path in the docker-compose.yml for each server. phpmyadmin: networks: - dev image: phpmyadmin depends_on: - database links: - database environment: PMA_HOST: database PMA_PORT: 3306 MYSQL_ROOT_PASSWORD: 123 PMA_ARBITRARY: 1 ports: - 8000:80 - 4430:443 volumes: - /sessions volumes: mariadb-data: