services: repuve-backend: build: context: . dockerfile: dockerfile working_dir: /var/www/repuve-backend-v1 environment: - DB_HOST=mysql - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - DB_DATABASE=${DB_DATABASE} - DB_PORT=${DB_PORT} volumes: - ./:/var/www/repuve-backend-v1 - ./vendor:/var/www/repuve/vendor networks: - repuve-network mem_limit: 512M depends_on: mysql: condition: service_healthy nginx: image: nginx:alpine ports: - "${NGINX_PORT}:80" volumes: - ./public:/var/www/repuve-backend-v1/public - ./storage:/var/www/repuve-backend-v1/storage - ./Docker/nginx/nginx.conf:/etc/nginx/nginx.conf - /var/log/nginx:/var/log/nginx logging: driver: "local" options: max-size: "50m" max-file: "10" networks: - repuve-network mem_limit: 400m depends_on: - repuve-backend mysql: image: mysql:8.0 environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_USER: ${DB_USERNAME} ports: - ${DB_PORT}:${DB_PORT} volumes: - mysql_data:/var/lib/mysql networks: - repuve-network mem_limit: 400m healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 15s retries: 10 phpmyadmin: image: phpmyadmin/phpmyadmin environment: PMA_HOST: mysql PMA_PORT: 3306 ports: - '${PMA_PORT}:80' depends_on: - mysql networks: - repuve-network mem_limit: 400m volumes: nginx_data: driver: local mysql_data: driver: local networks: repuve-network: driver: bridge