diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fff95da --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get install -y \ + build-essential \ + make \ + libncurses-dev \ + sudo \ + udev \ + util-linux \ + usbutils \ + adb \ + nvme-cli \ + + hdparm \ + bash \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /securewipe +COPY . . + +# Build sentinel directly +RUN make + +CMD ["./bin/sentinel"] + diff --git a/README.md b/README.md index eeb5ca2..92cb295 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # SecureWipe: Cross-Platform Secure Data Wiping Solution [![C++](https://img.shields.io/badge/C%2B%2B-20-blue.svg)](https://isocpp.org/) @@ -119,6 +118,53 @@ securewipe Follow the interface to securely wipe supported devices. +--- + +### For Docker Users + +> **⚠️ WARNING:** The Docker container implementation is currently under development. While USB devices are detected, it is identified as local disks inside the container and the wiping functionality on it is not yet operational. This Docker setup is intended for testing and development purposes only. For production use and to actually wipe USB devices, please run SecureWipe directly on your host system outside of Docker. + +#### Option 1 — Pull from Docker Hub + +1. Pull the pre-built image: + +```bash +docker pull haschwalth00b/securewipe:latest +``` + +2. Run the container: + +```bash +docker run --rm -it --privileged -v /dev:/dev -v /run/udev:/run/udev securewipe +``` + +--- + +#### Option 2 — Build Locally + +1. Clone this repository: + +```bash +git clone https://github.com/pointblank-club/SecureWipe.git +cd SecureWipe +``` + +2. Build the Docker image: + +```bash +docker build -t securewipe:latest . +``` + +3. Run the container: + +```bash +docker run --rm -it --privileged -v /dev:/dev -v /run/udev:/run/udev securewipe +``` + +**Note:** The `--privileged` flag, `/dev` volume mount, and `/run/udev` volume mount allow the container to detect and interact with USB devices as local disks. + +--- + ### For Android devices: - Enable USB Debugging in Developer Options before connecting.