Skip to content

Commit 037bef0

Browse files
authored
Update README.md
1 parent 45f71a3 commit 037bef0

File tree

1 file changed

+37
-50
lines changed

1 file changed

+37
-50
lines changed

README.md

Lines changed: 37 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -65,56 +65,6 @@ These requirements are for the computer running the core framework:
6565
* Recommended: GoLang 1.17+ to dynamically compile GoLang-based agents.
6666
* NodeJS (v16+ recommended for v5 VueJS UI)
6767

68-
## Docker Installation (Recommended)
69-
**Note 1: The image on DockerHub is outdated, please do not use it for the time being!**
70-
71-
**Note 2: The builder plugin will not work within Docker**
72-
73-
**Note 3: The caldera container will automatically generate keys/usernames/password on first start.**
74-
**If you wish to override the default configuration or avoid automatically generated keys/passwords, consider bind-mounting your own**
75-
**configuration file with the `-v <your_path>/conf.yml:/usr/src/app/conf/local.yml` flag**
76-
77-
**Note 4: Data stored by caldera is ephermal by default.**
78-
**If you wish to make it persistent, use docker volumes and/or bind mounts (`-v <path_to_your_data_or_volume_name>:/usr/src/app/data/`).**
79-
**Ensure that the directory structure is the same as in the `data/` directory on GitHub, as caldera will refuse to create these sub-directories if they are missing.**
80-
**Lastly, make sure that the configuration file (Note #3) is also made persistent to prevent issues with encryption keys.**
81-
82-
**Note 5: If you wish to modify data used by the `atomic` plugin, clone the `Atomic Red Team` repository outside the container, apply your modifications and bind-mount it (`-v`) to `/usr/src/app/plugins/atomic/data/atomic-red-team` within the container.**
83-
84-
**Note 6: If you wish to modify data used by `emu`,**
85-
**clone the `adversary_emulation_library` repository locally and bind-mount it (`-v`) to**
86-
**`/usr/src/app/plugins/emu/data/adversary-emulation-plans`**
87-
88-
Local build:
89-
```sh
90-
git clone https://github.com/mitre/caldera.git --recursive
91-
cd caldera
92-
docker build --build-arg VARIANT=full -t caldera .
93-
docker run -it -p 8888:8888 caldera
94-
```
95-
96-
Adjust the port forwarding (`-p`) and build args (`--build-arg`) as desired to make ports accessible or change the caldera variant.
97-
The ports that you expose depend on which contacts you plan on using (see `Dockerfile` and `docker-compose.yml` for reference).
98-
99-
Pre-Built Image (from GitHub Container Registry):
100-
```sh
101-
docker run -it -p 8888:8888 ghcr.io/mitre/caldera:latest
102-
```
103-
This container may be slightly outdated, we recommend building the container yourself.
104-
105-
To gracefully terminate your docker container, do the following:
106-
```Bash
107-
# Find the container ID for your docker container running Caldera
108-
docker ps
109-
110-
# Stop the container
111-
docker stop [container ID]
112-
```
113-
114-
There are two variants available, *full* and *slim*.
115-
The *slim* variant doesn't include files necessary for the *emu* and *atomic* plugins, which will be downloaded on-demand if the plugins are ever enabled. The *full* variant is suitable for operation in environments without an internet connection. Slim images on GHCR are prefixed with "slim".
116-
117-
11868
## Installation
11969

12070
Concise installation steps:
@@ -147,6 +97,43 @@ Once started, log into http://localhost:8888 using the default credentials red/a
14797

14898
If you prefer to not use the new VueJS UI, revert to Caldera v4.2.0. Correspondingly, do not use the `--build` flag for earlier versions as not required.
14999

100+
## Docker Installation
101+
102+
Local build:
103+
```sh
104+
git clone https://github.com/mitre/caldera.git --recursive
105+
cd caldera
106+
docker build --build-arg VARIANT=full -t caldera .
107+
docker run -it -p 8888:8888 caldera
108+
```
109+
110+
Adjust the port forwarding (`-p`) and build args (`--build-arg`) as desired to make ports accessible or change the Caldera variant. The ports that you expose depend on which contacts you plan on using (see `Dockerfile` and `docker-compose.yml` for reference).
111+
112+
Pre-Built Image (from GitHub Container Registry):
113+
```sh
114+
docker run -p 8888:8888 ghcr.io/mitre/caldera:latest
115+
```
116+
This container may be slightly outdated, we recommend building the container yourself.
117+
118+
To gracefully terminate your docker container, do the following:
119+
```sh
120+
# Find the container ID for your docker container running Caldera
121+
docker ps
122+
123+
# Stop the container
124+
docker stop <container ID>
125+
```
126+
127+
There are two variants available, *full* and *slim*. The *slim* variant doesn't include files necessary for the *emu* and *atomic* plugins, which will be downloaded on-demand if the plugins are ever enabled. The *full* variant is suitable for operation in environments without an internet connection. Slim images on GHCR are prefixed with "slim".
128+
129+
**Docker Container Notes**
130+
- The Caldera container will automatically generate keys/usernames/password on first start.
131+
- If you wish to override the default configuration or avoid automatically generated keys/passwords, consider bind-mounting your own configuration file with the `-v <your_path>/conf.yml:/usr/src/app/conf/local.yml` flag.
132+
- Data stored by Caldera is ephermal by default. If you wish to make it persistent, use docker volumes and/or bind mounts (`-v <path_to_your_data_or_volume_name>:/usr/src/app/data/`). Ensure that the directory structure is the same as in the `data/` directory on GitHub, as Caldera will refuse to create these sub-directories if they are missing. Lastly, make sure that the configuration file is also made persistent to prevent issues with encryption keys.
133+
- The `builder` plugin will not work within Docker.
134+
- If you wish to modify data used by the `atomic` plugin, clone the `Atomic Red Team` repository outside the container, apply your modifications and bind-mount it (`-v`) to `/usr/src/app/plugins/atomic/data/atomic-red-team` within the container.
135+
- If you wish to modify data used by `emu`, clone the `adversary_emulation_library` repository locally and bind-mount it (`-v`) to `/usr/src/app/plugins/emu/data/adversary-emulation-plans`.
136+
150137
### User Interface Development
151138

152139
If you'll be developing the UI, there are a few more additional installation steps.

0 commit comments

Comments
 (0)