Face Blocker is a Flask web app that allows a user to generate a version of any photo with the face blocked out. This system integrates a machine learning system that takes the image, detects how many faces are in the image, and produces an output image with all of the faces blocked out. Face Blocker can even use a custom photo the user provides to censor the faces. This system also integrates a MongoDB database using GridFS that facilitates sharing of images between the two other containers. Face Blocker integrates its three systems using docker containers.
- Clone the git repository
git clone https://github.com/software-students-spring2025/4-containers-okay-cool.git - Create .env files for the web app and machine learning client
- See instructions below
- Install docker and docker desktop
- Open a terminal in the base repository of the project
- Run the following command to start the web app, machine learning client, and MongoDB database
docker compose up --build- If you make any changes to the docker-compose file or Dockerfiles run
docker compose up --force-recreate --build
- Now you can view the web app at
http://localhost:10000/- You can change this port in
docker-compose.yamland in the two.envfiles
- You can change this port in
- Run the following command to stop and remove the containers
docker compose down- Note that after any code changes you must compose down and then complete step 5 to apply them
Both the web app and machine learning client require .env files to function. Follow the example files below to create your own versions. It is vital to include the same fields, but insert your personal uri and database name for MongoDB.