Project to build a set of three docker images containing the components of MISP with self-configuration into a usable state from first start.
This GitHub repository is for maintaining the images, to use the images please see jisccti/misp-web on DockerHub instead.
The images have been build and tested against Docker Engine v26, but should build on any Linux-based Docker Engine which supports multi-stage images and the built images should run on any Linux-based Docker Engine.
The created Docker images contain only the MISP components and depend on the following external services:
- ClamAV TCP endpoint. Tested against Docker image:
clamav/clamav:1.0_base
. - MySQL/MariaDB server (5.7 or 8.0). Tested against Docker image:
mysql/mysql-server:8.0
. - Redis server (v6 or v7). Tested against Docker Image:
redis:7
. - An SMTP service. Tested against Postfix.
The standard docker_compose.yml deployment has been tested on a system with:
- 2 Cores
- 8GB RAM
- 50GB Storage
Depending on the features used, MISP can run on very little resources and could potentially run with less RAM.
quickstart.py
is designed to create a test instance of MISP for validation of changes to the
builds it should not be used in production environments.
It will:
- Create a "best guess"
.env
file if one does not exist, - Delete ALL existing persistent storage,
- Pull the three required external images,
- Build the three images in this project,
- Start MISP at https://{docker-hostname}/.
Quick Start requires:
- Python >= 3.6 with pip >= 21.2, and
- Dotenv (can be installed with
python3 -m pip install --user python-dotenv
).
For a more customised test instance see the misp-web documentation.
To simulate a High Availability setup with Quick Start add the --ha
option, this will spawn two
misp-web frontend containers behind a HAProxy load balancing container.
Note: It is expected for the HA Proxy container to continually restart until a misp-web container completes its initial setup, generating the TLS keypair needed for a successful startup.