services: caddy: image: caddy:2.9.1 restart: unless-stopped cap_add: - NET_ADMIN ports: - "80:80" - "443:443" - "443:443/udp" volumes: - $PWD/bash/caddy:/etc/caddy - $PWD/bash/certs:/etc/ssl redis: image: redis:latest volumes: - redis_data:/data command: redis-server --maxmemory 512MB restart: unless-stopped php: build: . volumes: - ./:/var/www worker: build: . volumes: - ./:/var/www - ./var/download:/var/download command: php ./bin/console messenger:consume async -vv --time-limit=3600 scheduler: build: . volumes: - ./:/var/www - ./var/download:/var/download command: php ./bin/console messenger:consume scheduler_monitor -vv --time-limit=3600 mercure: image: dunglas/mercure restart: unless-stopped ports: - "3000:80" environment: SERVER_NAME: ':80' MERCURE_PUBLISHER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!' MERCURE_SUBSCRIBER_JWT_KEY: '!ChangeThisMercureHubJWTSecretKey!' MERCURE_EXTRA_DIRECTIVES: | cors_origins * anonymous command: /usr/bin/caddy run --config /etc/caddy/dev.Caddyfile volumes: - mercure_data:/data - mercure_config:/config database: image: mariadb:10.11.2 ports: - "3306:3306" volumes: - mysql:/var/lib/mysql environment: MYSQL_DATABASE: app MYSQL_USERNAME: app MYSQL_PASSWORD: password MYSQL_ROOT_PASSWORD: password adminer: image: adminer ports: - "8081:8080" volumes: mysql: mercure_data: mercure_config: redis_data: