services: nexo-cloud: image: git.masscivicdynamic.com/masscivicdynamic/nexo-cloud:latest ports: - "8080:8080" environment: - SSL_MODE=${SSL_MODE-off} - APP_KEY=${APP_KEY} - APP_NAME=${APP_NAME} - DB_CONNECTION=${DB_CONNECTION:-pgsql} - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - REDIS_PASSWORD=${REDIS_PASSWORD} - APP_PREVIOUS_KEYS=${APP_PREVIOUS_KEYS} - PHP_OPCACHE_ENABLE=${PHP_OPCACHE_ENABLE:-1} networks: - nexo-cloud depends_on: redis: condition: service_healthy postgres: condition: service_healthy reverb: condition: service_healthy postgres: image: postgres:16-alpine environment: - POSTGRES_USER=${DB_USERNAME:-nexo-cloud} - POSTGRES_PASSWORD=${DB_PASSWORD:-nexo-cloud} - POSTGRES_DB=${DB_DATABASE:-nexo-cloud} networks: - nexo-cloud healthcheck: test: [ "CMD-SHELL", "pg_isready -U ${DB_USERNAME}", "-d", "${DB_DATABASE:-nexo-cloud}" ] interval: 5s retries: 10 timeout: 2s redis: image: redis:7.2-alpine command: redis-server --save 20 1 --loglevel warning --requirepass ${REDIS_PASSWORD} environment: - REDIS_PASSWORD="${REDIS_PASSWORD}" networks: - nexo-cloud healthcheck: test: redis-cli ping interval: 5s retries: 10 timeout: 2s task: image: git.masscivicdynamic.com/masscivicdynamic/nexo-cloud:latest command: ["php", "/var/www/html/artisan", "schedule:work"] stop_signal: SIGTERM networks: - nexo-cloud healthcheck: test: ["CMD", "healthcheck-schedule"] start_period: 10s depends_on: redis: condition: service_healthy postgres: condition: service_healthy queue: image: git.masscivicdynamic.com/masscivicdynamic/nexo-cloud:latest command: [ "php", "/var/www/html/artisan", "queue:work", "--tries=3" ] stop_signal: SIGTERM networks: - nexo-cloud healthcheck: test: [ "CMD", "healthcheck-queue" ] start_period: 10s depends_on: redis: condition: service_healthy postgres: condition: service_healthy reverb: image: git.masscivicdynamic.com/masscivicdynamic/nexo-cloud:latest command: [ "php", "/var/www/html/artisan", "--port=8000", "reverb:start" ] stop_signal: SIGTERM environment: - REVERB_APP_ID=${REVERB_APP_ID:-271026} - REVERB_APP_KEY=${REVERB_APP_KEY:-dyadpyflxsz00fd60az2} - REVERB_APP_SECRET=${REVERB_APP_SECRET:-quuxylmbloar05e6kk0e} - REVERB_HOST="${REVERB_HOST:-*}" - REVERB_PORT=${REVERB_PORT:-8000} - REVERB_SCHEME=${REVERB_SCHEME:-http} healthcheck: test: [ "CMD", "healthcheck-reverb" ] start_period: 10s ports: - "8000:8000" networks: nexo-cloud: