https://github.com/cybercentrecanada/assemblyline-docker-compose
Docker compose Assemblyline 4 deployment (appliance and development)
https://github.com/cybercentrecanada/assemblyline-docker-compose
assemblyline docker docker-compose malware-analysis
Last synced: 6 months ago
JSON representation
Docker compose Assemblyline 4 deployment (appliance and development)
- Host: GitHub
- URL: https://github.com/cybercentrecanada/assemblyline-docker-compose
- Owner: CybercentreCanada
- License: mit
- Created: 2020-01-22T20:24:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-04-11T21:33:23.000Z (6 months ago)
- Last Synced: 2025-04-11T22:34:02.883Z (6 months ago)
- Topics: assemblyline, docker, docker-compose, malware-analysis
- Language: Python
- Homepage: https://cybercentrecanada.github.io/assemblyline4_docs/
- Size: 205 KB
- Stars: 15
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
## Assemblyline 4 - Docker compose documentation
**NOTE:** Appliances are built on top of Docker but for the moment they do not support Docker in swarm mode.
## Setup
For full documentation on how to setup an Assemblyline appliance see the documentation page.
https://cybercentrecanada.github.io/assemblyline4_docs/#### Quickstart
##### 1. Install docker and docker-compose on a linux system
```NOTE:``` If using the Docker Compose plugin, replace `docker-compose` commands with `docker compose`.##### 2. Clone this repository
```bash
git clone https://github.com/CybercentreCanada/assemblyline-docker-compose.git
mkdir ~/deployments
cp -R ~/git/assemblyline-docker-compose ~/deployments/assemblyline
cd ~/deployments/assemblyline
```
##### 3. Set domain, passwords, and paths in `./.env` and `./config/bootstrap.py`##### 4. Copy in an existing or generate a self-signed certificate into the `./config` directory in the cloned repository
```bash
source .env
openssl req -nodes -x509 -newkey rsa:4096 -keyout ./config/nginx.key -out ./config/nginx.crt -days 365 -subj "/C=CA/ST=Ontario/L=Ottawa/O=CCCS/CN=$DOMAIN"
```##### 5. Launch the system
###### Docker Compose Profiles
These following profiles can be combined (unless otherwise specified) depending on your deployment requirements:
- `minimal`: This setup includes the bare-minimum components for everything to be able to run. There will be no metrics collected and you will have to tail the log from the docker container logs.
- `full`: This setup includes every single components and all metrics and logging capabilities. Metrics and logs will be gathered inside the same Elasticsearch instance as the processing data and you will have access kibana to view all of those.
- `archive`: This deploys the Archiver component of Assemblyline but this requires `datastore.archive.enabled: true` in your [configuration](./config/config.yml) otherwise the container will terminate.**Note**: The `minimal` and `full` profiles are mutually exclusive and are not to be used together.
You can specify which profiles to use on the commandline using the `--profile` flag or set `COMPOSE_PROFILES` in your `.env` file (default: `COMPOSE_PROFILES=minimal`)
The following instructions assume `.env` contains `COMPOSE_PROFILES`, otherwise the `--profile` flag can be used to override what's set in `.env`:
1. Pull the containers, depending on which profile you'd like to deploy:
```bash
sudo docker-compose pull --ignore-buildable
sudo docker-compose build
sudo docker-compose -f bootstrap-compose.yaml pull
```2. Launch the core system, relative to the profile of choice.
```bash
sudo docker-compose up -d
```
3. Perform first time only setup and service initialization.
```bash
sudo docker-compose -f bootstrap-compose.yaml up
```