Note: The software is currently in testing phase. Please maintain a backup habit for important files, as we are not responsible for any file loss caused by using this software.
Dup File Remover is a software designed to find and delete duplicate files. It is deployed using Docker and is specifically adapted for scenarios such as NAS. The software employs a front-end and back-end separation technology stack, with the back-end written in Rust and the front-end utilizing the Ant Design Pro solution.
Docker deployment is very simple; you just need to pull the image and run the container. The command to run is as follows:
docker run -d --name dup-file-remover \
-p 8081:8081 \
-v /host/path/to/conf:/app/conf \
-v /host/path/to/data:/app/data \
lcxl/dup-file-remover:latestDocker Compose deployment method:
version: '3'
services:
dfr:
container_name: dfr
image: lcxl/dup-file-remover:latest
ports:
- "8081:8081"
restart: unless-stopped
volumes:
- /host/path/to/conf:/app/conf
- /host/path/to/data:/app/dataHere, /app/conf and /app/data are the directories for storing configuration files and data, respectively. The /app/data directory should point to where duplicate files will be removed and must have read/write permissions; otherwise, there may be issues with program execution.
If you want to build from source code, you can follow these steps:
- Clone this code repository locally;
- Install Docker for image building. For Docker installation, refer to the Docker official documentation
- Execute the
build_docker.shcommand to build the image; the default generated image name will belcxl/dup-file-remover:latest - Run the image using the
docker runcommand, referencing the above configuration file.
See:User Manual
If you want to develop, you can follow these steps:
- Clone this code repository locally;
- Install the necessary software:
- Rust: for compiling the backend application; refer to Rust official documentation
- NPM: for compiling the Web frontend application; refer to NPM official documentation
- Execute
cargo runin the code repository root directory to run the backend application; - Switch to the
webdirectory, executenpm run startto run the frontend application; - Open a browser and access
http://localhost:8000to view the application. The front-end and back-end of the application communicate using the OpenAPI protocol. When there is a change in the backend HTTP interface, run the following command during runtime in the backend:./update_web_openapi.shto update the OpenAPI interface of the frontend application.
