diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index f2ac0c853e..c8870950c5 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -18,10 +18,15 @@ services: - .env environment: <<: *dev-env - command: ./manage.py runserver --skip-checks 0.0.0.0:8001 + # Skip migrate when the DB schema is already up to date (faster reload) + command: sh -c " + ./manage.py migrate --check || ./manage.py migrate; + ./manage.py runserver --skip-checks 0.0.0.0:8001" volumes: + - ./scancodeio:/opt/scancodeio/scancodeio - ./scanpipe:/opt/scancodeio/scanpipe ports: + # Port 8001 to avoid conflict when running side-by-side with dejacode on 8000 - "8001:8001" # Volume mount keeps code in sync. Restart manually with: make restart-worker @@ -31,10 +36,12 @@ services: - .env environment: <<: *dev-env - command: ./manage.py rqworker --worker-class scancodeio.worker.ScanCodeIOWorker - --queue-class scancodeio.worker.ScanCodeIOQueue - --verbosity 1 + command: wait-for-it --strict --timeout=180 web:8001 -- sh -c " + ./manage.py rqworker --worker-class scancodeio.worker.ScanCodeIOWorker + --queue-class scancodeio.worker.ScanCodeIOQueue + --verbosity 1" volumes: + - ./scancodeio:/opt/scancodeio/scancodeio - ./scanpipe:/opt/scancodeio/scanpipe # Disable nginx in dev mode, the runserver serves requests directly. diff --git a/docker-compose.yml b/docker-compose.yml index 18b82588b6..51e1ca4ab3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -77,7 +77,7 @@ services: ./manage.py migrate && ./manage.py collectstatic --no-input --verbosity 0 --clear && gunicorn scancodeio.wsgi:application --bind :8000 --timeout 600 \ - --workers 8 ${GUNICORN_RELOAD_FLAG:-}" + --workers 8 --worker-tmp-dir /dev/shm ${GUNICORN_RELOAD_FLAG:-}" env_file: - docker.env expose: @@ -118,8 +118,8 @@ services: - "${NGINX_PUBLISHED_HTTPS_PORT:-443}:443" volumes: - ./etc/nginx/conf.d/:/etc/nginx/conf.d/ - - /var/www/html:/var/www/html - static:/var/scancodeio/static/ + - webroot:/var/www/html/ depends_on: - web restart: always @@ -137,3 +137,4 @@ volumes: clamav_data: static: workspace: + webroot: