105 lines
3.2 KiB
YAML
105 lines
3.2 KiB
YAML
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}
|
|
- LOG_CHANNEL=${LOG_CHANNEL:-stack}
|
|
networks:
|
|
- nexo-cloud
|
|
depends_on:
|
|
redis:
|
|
condition: service_healthy
|
|
postgres:
|
|
condition: service_healthy
|
|
reverb:
|
|
condition: service_healthy
|
|
volumes:
|
|
- /data/nexo-cloud/logs:/var/www/html/storage/logs
|
|
- /data/nexo-cloud/ssh:/var/www/html/storage/app/ssh
|
|
- /data/nexo-cloud/applications:/var/www/html/storage/app/applications
|
|
- /data/nexo-cloud/databases:/var/www/html/storage/app/databases
|
|
- /data/nexo-cloud/services:/var/www/html/storage/app/services
|
|
- /data/nexo-cloud/backups:/var/www/html/storage/app/backups
|
|
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:
|