--- version: "3.1" 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} 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.3/fpm/conf.d/99-overrides.ini" - "./tbank_certs:/tbank_certs" labels: - "traefik.enable=false" restart: always frontend: build: phpdocker/front-end command: "npm run watch" working_dir: /application environment: - TZ=Europe/Moscow networks: - ns-eatvio volumes: - "./app:/application" labels: - "traefik.enable=false" restart: always 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.3/fpm/conf.d/99-overrides.ini" - "./phpdocker/worker/laravel-worker.conf:/etc/supervisor/conf.d/laravel-worker.conf" - "./tbank_certs:/tbank_certs" 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" - "./phpdocker/nginx/shalom.eatvio.local+2.pem:/etc/nginx/shalom.eatvio.local+2.pem" - "./phpdocker/nginx/shalom.eatvio.local+2-key.pem:/etc/nginx/shalom.eatvio.local+2-key.pem" ports: - "10443:5000" 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:26.0 restart: on-failure networks: - ns-eatvio volumes: - ./typesense-data:/data command: "--data-dir /data --api-key=typesense --enable-cors" networks: web: external: true ns-eatvio: external: false