version: "3.8" services: php: build: context: docker dockerfile: docker/php/Dockerfile container_name: app-php extra_hosts: - "host.docker.internal:host-gateway" volumes: - app-code:/var/www/app environment: - GIT_TOKEN=${GIT_TOKEN} - GIT_REPO=${GIT_REPO} depends_on: - mariadb nginx: image: nginx container_name: app-nginx volumes: - app-code:/var/www/app - ./nginx/default.conf:/etc/nginx/conf.d/default.conf ports: - "80:80" depends_on: - php mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: laravel ports: - "3306:3306" volumes: - dbdata:/var/lib/mysql typesense: image: typesense/typesense:29.0 restart: on-failure ports: - "8108:8108" volumes: - typesense-data:/data environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} command: '--data-dir /data --api-key=${TYPESENSE_API_KEY} --enable-cors' backup: build: context: docker dockerfile: docker/backup/Dockerfile container_name: app-backup volumes: - ./backups:/backups depends_on: - mariadb restart: unless-stopped reverb: build: context: docker dockerfile: docker/php/Dockerfile container_name: app-reverb entrypoint: /usr/local/bin/entrypoint.sh command: php artisan reverb:start --host=0.0.0.0 --port=8080 volumes: - app-code:/var/www/app ports: - "8080:8080" depends_on: - php - mariadb volumes: app-code: dbdata: typesense-data: networks: default: ipam: config: - subnet: 192.168.200.0/24