Files
Investidor-V2/deploy/docker/compose.yaml
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

133 lines
4.3 KiB
YAML

name: investmoz-development
services:
app:
build:
context: ../../vendor/laravel/sail/runtimes/8.5
args:
WWWGROUP: '${WWWGROUP:-1000}'
NODE_VERSION: '24'
POSTGRES_VERSION: '17'
image: investmoz-development-php85
environment: &application
WWWUSER: '${WWWUSER:-1000}'
APP_ENV: local
APP_DEBUG: 'false'
APP_KEY: '${APP_KEY:?Generate the isolated development key first}'
APP_URL: 'http://localhost:${PORTAL_PORT:-8088}'
DB_CONNECTION: pgsql
DB_HOST: postgres
DB_PORT: '5432'
DB_DATABASE: investmoz_development
DB_USERNAME: investmoz
DB_PASSWORD: '${DB_PASSWORD:?Generate a local database password first}'
DB_URL: ''
CACHE_STORE: database
QUEUE_CONNECTION: database
DB_QUEUE_RETRY_AFTER: '210'
SESSION_DRIVER: database
SESSION_SECURE_COOKIE: 'false'
MAIL_MAILER: array
PORTAL_NOTIFICATIONS_ENABLED: 'false'
LOG_CHANNEL: stderr
FILESYSTEM_DISK: local
MALWARE_SCANNER: clamd
CLAMD_HOST: clamav
CLAMD_PORT: '3310'
CLAMD_TIMEOUT_SECONDS: '120'
CLAMD_MAX_SIGNATURE_AGE_HOURS: '48'
CLAMD_MAX_FILE_BYTES: '20971520'
CLAMD_MAX_STREAM_BYTES: '26214400'
CLAMD_MAX_DECOMPRESSED_BYTES: '104857600'
CLAMD_MAX_ARCHIVE_ENTRIES: '1000'
volumes:
- ../..:/var/www/html
- ./runtime.env.example:/var/www/html/.env:ro
- application-storage:/var/www/html/storage
- application-cache:/var/www/html/bootstrap/cache
depends_on:
postgres:
condition: service_healthy
networks:
- default
- malware-private
healthcheck:
test: ['CMD', 'curl', '--fail', 'http://127.0.0.1/up']
interval: 15s
timeout: 5s
retries: 5
web:
image: nginx:stable-alpine
ports:
- '127.0.0.1:${PORTAL_PORT:-8088}:80'
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
app:
condition: service_healthy
queue:
image: investmoz-development-php85
environment:
<<: *application
SUPERVISOR_PHP_COMMAND: '/usr/bin/php /var/www/html/artisan queue:work --sleep=3 --tries=3 --timeout=150'
volumes:
- ../..:/var/www/html
- ./runtime.env.example:/var/www/html/.env:ro
- application-storage:/var/www/html/storage
- application-cache:/var/www/html/bootstrap/cache
depends_on:
app:
condition: service_healthy
networks:
- default
- malware-private
postgres:
image: postgis/postgis:17-3.5
environment:
POSTGRES_DB: investmoz_development
POSTGRES_USER: investmoz
POSTGRES_PASSWORD: '${DB_PASSWORD:?Generate a local database password first}'
volumes:
- database:/var/lib/postgresql/data
healthcheck:
test:
[
'CMD-SHELL',
'pg_isready -U investmoz -d investmoz_development',
]
interval: 5s
timeout: 5s
retries: 10
networks:
- default
clamav:
image: clamav/clamav:1.5.4
environment:
CLAMAV_NO_MILTERD: 'true'
CLAMD_STARTUP_TIMEOUT: '1800'
FRESHCLAM_CHECKS: '12'
volumes:
- clamav-database:/var/lib/clamav
- ./clamd.conf:/etc/clamav/clamd.conf:ro
mem_limit: 4g
cpus: 2.0
logging:
options:
max-size: '10m'
max-file: '3'
healthcheck:
test: ['CMD', 'clamdscan', '--ping=3']
interval: 30s
timeout: 5s
retries: 3
start_period: 30m
networks:
- malware-private
networks:
malware-private:
driver: bridge
volumes:
database:
application-storage:
application-cache:
clamav-database: