Docker Deployment
Docker Deployment
Deploying Pulsar using Docker is the recommended method for ensuring a consistent environment with all dependencies (such as Nmap, ZMap, and Amass) pre-configured. The project uses docker-compose to orchestrate the application portal and its backend database.
Prerequisites
Before beginning, ensure you have the following installed on your host system:
- Docker (20.10.0+)
- Docker Compose (1.29.0+)
1. Clone the Repository
Clone the Pulsar repository to your local machine:
git clone https://github.com/0x0FB0/pulsar.git
cd pulsar
2. Initial Configuration
Before launching the containers, you may need to configure specific services like email notifications or external API integrations.
Email Notifications
If you require email notifications for scan results, edit the EMAIL_BACKEND settings in the configuration file before building the containers:
File: portal/portal/settings.py
# Example SMTP Configuration
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'your-smtp-server.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'your-email@example.com'
EMAIL_HOST_PASSWORD = 'your-password'
3. Deploying with Docker Compose
Pulsar uses a multi-container architecture consisting of the web portal (Django + Vue.js), a worker for background tasks (Celery), and the database.
Run the following command from the root directory to build and start the services in detached mode:
docker-compose up -d --build
This command will:
- Build the Pulsar portal image.
- Pull the necessary database image.
- Initialize the network and volumes.
- Start all services.
4. Post-Deployment Setup
Once the containers are running, you must initialize the database and create an administrative user to access the web interface.
Run Database Migrations
docker-compose exec portal python manage.py migrate
Create Superuser
Execute the following command to create your login credentials:
docker-compose exec portal python manage.py createsuperuser
5. Accessing the Interface
Once the setup is complete, you can access the Pulsar dashboard via your web browser:
- URL:
http://localhost:8000 - API Documentation:
http://localhost:8000/api/docs/
Service Management
| Command | Description |
| :--- | :--- |
| docker-compose stop | Stops the containers without removing them. |
| docker-compose logs -f portal | Views live logs from the Pulsar portal. |
| docker-compose down | Stops and removes all containers and networks. |
| docker-compose exec portal python manage.py collectstatic | Updates static files if UI changes are made. |
Note on Persistence
Pulsar uses Docker volumes to ensure that your scan data and database records persist even if the containers are stopped or recreated. Do not delete the volumes unless you intend to wipe all application data.