services: php: build: context: ./docker/php dockerfile: Dockerfile container_name: app-php extra_hosts: - "host.docker.internal:host-gateway" volumes: - app-code:/var/www/app - frontend-public:/var/www/app/public environment: - GIT_TOKEN=${GIT_TOKEN} - BACKEND_GIT_REPO=${BACKEND_GIT_REPO} - BACKEND_GIT_BRANCH=${BACKEND_GIT_BRANCH} depends_on: - mariadb frontend: build: context: ./docker/frontend dockerfile: Dockerfile container_name: app-frontend environment: - GIT_TOKEN=${GIT_TOKEN} - FRONTEND_GIT_REPO=${FRONTEND_GIT_REPO} - FRONTEND_GIT_BRANCH=${FRONTEND_GIT_BRANCH} volumes: - frontend-public:/public depends_on: - php command: [ "build" ] nginx: image: nginx container_name: app-nginx volumes: - app-code:/var/www/app - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf ports: - "80:80" depends_on: - php mariadb: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - MYSQL_DATABASE=${MYSQL_DATABASE} 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/backup dockerfile: Dockerfile container_name: app-backup volumes: - ./backups:/backups depends_on: - mariadb restart: unless-stopped reverb: build: context: ./docker/php dockerfile: 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: frontend-public: dbdata: typesense-data: networks: default: ipam: config: - subnet: 192.168.200.0/24