feat(docker-compose): add Docker Compose YAMLs and .env (#5909)

This commit is contained in:
Sergio Garcia
2024-11-30 17:21:31 -04:00
committed by GitHub
parent 17c31c64d9
commit ff80a47123
4 changed files with 294 additions and 1 deletions

114
docker-compose-dev.yml Normal file
View File

@@ -0,0 +1,114 @@
services:
api-dev:
hostname: "prowler-api"
build:
context: ./api
dockerfile: Dockerfile
target: dev
image: prowler-api-dev
environment:
- DJANGO_SETTINGS_MODULE=config.django.devel
- DJANGO_LOGGING_FORMATTER=${LOGGING_FORMATTER:-human_readable}
env_file:
- path: .env
required: false
ports:
- "${DJANGO_PORT:-8080}:${DJANGO_PORT:-8080}"
volumes:
- "./api/src/backend:/home/prowler/backend"
- "./api/pyproject.toml:/home/prowler/pyproject.toml"
depends_on:
postgres:
condition: service_healthy
valkey:
condition: service_healthy
entrypoint:
- "/home/prowler/docker-entrypoint.sh"
- "dev"
ui-dev:
build:
context: ./ui
dockerfile: Dockerfile
target: dev
env_file:
- path: .env
required: false
ports:
- 3000:3000
postgres:
image: postgres:16.3-alpine
hostname: "postgres-db"
volumes:
- ./api/_data/postgres:/var/lib/postgresql/data
environment:
- POSTGRES_USER=${POSTGRES_ADMIN_USER:-prowler}
- POSTGRES_PASSWORD=${POSTGRES_ADMIN_PASSWORD:-S3cret}
- POSTGRES_DB=${POSTGRES_DB:-prowler_db}
env_file:
- path: .env
required: false
ports:
- "${POSTGRES_PORT:-5432}:${POSTGRES_PORT:-5432}"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_ADMIN_USER:-prowler} -d ${POSTGRES_DB:-prowler_db}'"]
interval: 5s
timeout: 5s
retries: 5
valkey:
image: valkey/valkey:7-alpine3.19
hostname: "valkey"
volumes:
- ./api/_data/valkey:/data
env_file:
- path: .env
required: false
ports:
- "${VALKEY_PORT:-6379}:6379"
healthcheck:
test: ["CMD-SHELL", "sh -c 'valkey-cli ping'"]
interval: 10s
timeout: 5s
retries: 3
worker-dev:
build:
context: ./api
dockerfile: Dockerfile
target: dev
image: prowler-worker-dev
environment:
- DJANGO_SETTINGS_MODULE=config.django.devel
env_file:
- path: .env
required: false
depends_on:
valkey:
condition: service_healthy
postgres:
condition: service_healthy
entrypoint:
- "/home/prowler/docker-entrypoint.sh"
- "worker"
worker-beat:
build:
context: ./api
dockerfile: Dockerfile
target: dev
image: prowler-worker-dev
environment:
- DJANGO_SETTINGS_MODULE=config.django.devel
env_file:
- path: ./.env
required: false
depends_on:
valkey:
condition: service_healthy
postgres:
condition: service_healthy
entrypoint:
- "../docker-entrypoint.sh"
- "beat"