diff --git a/Dockerfile b/Dockerfile index 6bb274fde0..9bda1950ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,8 @@ FROM python:3.12-alpine AS build LABEL maintainer="https://github.com/prowler-cloud/api" -RUN apk --no-cache add gcc=13.2.1_git20240309-r0 python3-dev=3.12.3-r1 musl-dev=1.2.5-r0 linux-headers=6.6-r0 curl-dev=8.9.0-r0 +# hadolint ignore=DL3018 +RUN apk --no-cache add gcc python3-dev musl-dev linux-headers curl-dev RUN apk --no-cache upgrade && \ addgroup -g 1000 prowler && \ @@ -32,7 +33,8 @@ WORKDIR /home/prowler/backend FROM build AS dev USER 0 -RUN apk --no-cache add curl=8.9.0-r0 vim=9.1.0414-r0 +# hadolint ignore=DL3018 +RUN apk --no-cache add curl vim USER prowler diff --git a/docker-compose.yml b/docker-compose.yml index c81dd4e382..1ac35f8620 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -86,6 +86,8 @@ services: build: dockerfile: Dockerfile image: prowler-worker + environment: + - DJANGO_SETTINGS_MODULE=config.django.production env_file: - path: ./.env required: false diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 7745130bf2..d2c27d99a5 100755 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -6,6 +6,16 @@ apply_migrations() { poetry run python manage.py migrate --database admin } +apply_fixtures() { + echo "Applying Django fixtures..." + for fixture in api/fixtures/*.json; do + if [ -f "$fixture" ]; then + echo "Loading $fixture" + poetry run python manage.py loaddata "$fixture" --database admin + fi + done +} + start_dev_server() { echo "Starting the development server..." poetry run python manage.py runserver 0.0.0.0:"${DJANGO_PORT:-8080}" @@ -17,13 +27,14 @@ start_prod_server() { } start_worker() { - echo "Starting the development worker..." - poetry run python -m celery -A config.celery worker -l "${DJANGO_LOGGING_LEVEL:-info}" + echo "Starting the worker..." + poetry run python -m celery -A config.celery worker -l "${DJANGO_LOGGING_LEVEL:-info}" -E } case "$1" in dev) apply_migrations + apply_fixtures start_dev_server ;; prod) diff --git a/src/backend/api/fixtures/dev_tenants.json b/src/backend/api/fixtures/0_dev_tenants.json similarity index 100% rename from src/backend/api/fixtures/dev_tenants.json rename to src/backend/api/fixtures/0_dev_tenants.json diff --git a/src/backend/api/fixtures/dev_providers.json b/src/backend/api/fixtures/1_dev_providers.json similarity index 100% rename from src/backend/api/fixtures/dev_providers.json rename to src/backend/api/fixtures/1_dev_providers.json diff --git a/src/backend/config/settings/celery.py b/src/backend/config/settings/celery.py index 4dde58a8e7..c7e55140ea 100644 --- a/src/backend/config/settings/celery.py +++ b/src/backend/config/settings/celery.py @@ -1,7 +1,7 @@ from config.env import env -VALKEY_HOST = env("VALKEY_HOST", default="valkey-db") -VALKEY_PORT = env("VALKEY_PORT", default="6479") +VALKEY_HOST = env("VALKEY_HOST", default="valkey") +VALKEY_PORT = env("VALKEY_PORT", default="6379") VALKEY_DB = env("VALKEY_DB", default="0") CELERY_BROKER_URL = f"redis://{VALKEY_HOST}:{VALKEY_PORT}/{VALKEY_DB}"