services: soketi: image: "quay.io/soketi/soketi:latest-16-alpine" environment: SOKETI_DEBUG: ${SOKETI_DEBUG} SOKETI_METRICS_SERVER_PORT: ${SOKETI_METRICS_SERVER_PORT} SOKETI_DEFAULT_APP_ID: ${SOKETI_DEFAULT_APP_ID} SOKETI_DEFAULT_APP_KEY: ${SOKETI_DEFAULT_APP_KEY} SOKETI_DEFAULT_APP_SECRET: ${SOKETI_DEFAULT_APP_SECRET} SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES: ${SOKETI_DEFAULT_APP_ENABLE_CLIENT_MESSAGES} SOKETI_DEFAULT_APP_USER_AUTHENTICATION: ${SOKETI_DEFAULT_APP_USER_AUTHENTICATION} ports: - "${SOKETI_PORT:-6001}:6001" - "${SOKETI_METRICS_SERVER_PORT:-9601}:9601" networks: - ns-eatvio labels: - "traefik.enable=false" restart: always memcached: image: "memcached:alpine" networks: - ns-eatvio restart: always mysql: image: "mysql:8.0" working_dir: /application networks: - ns-eatvio volumes: - ".:/application" - "./mysql_data:/var/lib/mysql" environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} TZ: "Europe/Moscow" ports: - "1094:3306" labels: - "traefik.enable=false" restart: always php-fpm: build: phpdocker/php-fpm working_dir: /application environment: - TZ=Europe/Moscow depends_on: - mysql - worker # - frontend - memcached - typesense networks: - ns-eatvio volumes: - "./app:/application" - "./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/8.4/fpm/conf.d/99-overrides.ini" - "./tbank_certs:/tbank_certs" # - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json" labels: - "traefik.enable=false" restart: always # frontend: # build: phpdocker/front-end # command: "npm run dev" # working_dir: /application # environment: # - TZ=Europe/Moscow # networks: # - ns-eatvio # volumes: # - "./app:/application" # labels: # - "traefik.enable=false" # restart: unless-stopped worker: build: phpdocker/worker working_dir: /application environment: - TZ=Europe/Moscow command: "service supervisor start" depends_on: - mysql networks: - ns-eatvio volumes: - "./app:/application" - "./phpdocker/worker/php-ini-overrides.ini:/etc/php/8.4/fpm/conf.d/99-overrides.ini" - "./phpdocker/worker/laravel-worker.conf:/etc/supervisor/conf.d/laravel-worker.conf" - "./tbank_certs:/tbank_certs" # - "./eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json:/eatvio-3467b-firebase-adminsdk-fbsvc-6e149b2a5a.json" labels: - "traefik.enable=false" restart: always webserver: image: "nginx:alpine" working_dir: /application restart: always depends_on: - php-fpm - soketi volumes: - "./app:/application" - "./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf" ports: - "10443:5000" - "1092:80" networks: - web - ns-eatvio labels: - "traefik.docker.network=web" - "traefik.enable=true" - "traefik.frontend.rule=Host:dev2.eatvio.com,socket.eatvio.com" - "traefik.port=80" - "traefik.protocol=http" mailhog: image: "mailhog/mailhog" ports: - "8082:8025" networks: - ns-eatvio typesense: image: typesense/typesense:29.0 restart: always healthcheck: test: - CMD - wget - "--no-verbose" - "--spider" - "http://localhost:8108/health" networks: - ns-eatvio volumes: - ./typesense-data:/data command: "--data-dir /data --api-key=typesense --enable-cors" networks: web: external: true ns-eatvio: external: false