This is a Reconductor monorepo. Reconductor is a deployable network scanner.
Local postgres and redis installations are also recommended for local development, though You can absolutely use containerized versions
Copy and fill .env files
cp .env.example .envcp .env.test.example .env.testTIP: You can use something like
openssl rand -hex 32to get random strings for passwords
docker-compose.yml has several profiles for different scenarios
Infra spins database, redis and rabbitmq (useful for development)
podman compose -f docker-compose.yml --profile=infra up -dInfra + Backend spins infrastructure, API and background workers (useful for frontend development and debugging)
podman compose -f docker-compose.yml --profile=infra --profile=backend up -dInfra + Backend + Frontend spins a production-like environment if You want to play around with the app
podman compose -f docker-compose.yml --profile=backend --profile=workers --profile=frontend up -dRunning podman-compose in foreground (without -d) may cause unexpected behavior. It's recommended to always run it detached (with -d).
If You want to access logs use
podman compose --profile backend logs -fEach component has a corresponding README.md file with more details for local development:
This project is in early stage and it doesn't have installation scripts for different environments. Moreover each environment is unique and only You know better how deploy it such it fits Your needs. You may have different database or prefer a different message broker. To deploy it properly I recommend forking this project and use it as a template for your perfect deployment. Each component has it's own dockerfile and can be deployed in a containerized environment. Good luck!