A Docker image built through Github Actions with Git commit version tag
I found that watermark-anything's Docker image is difficult to find. The code on GitHub does not provide a pre-built Docker image.
This project will use GitHub Actions and Docker Hub to build and publish images, aiming to keep the process as clean as possible without custom configuration files.
The images of this project will be published to Docker Hub under the repository xiaoyao9184/watermark-anything.
Since this project references the watermark-anything project via a submodule, it cannot monitor push events on the watermark-anything project, and therefore cannot automatically create an image for every commit. A good solution is to manually trigger the action and tag it with the commit id. For more details, see this article set-dynamic-parameters-github-workflows-en.
The default image name format is ${DOCKERHUB_USERNAME}/watermark-anything.
The tag uses the input parameter commit_id,
which can be either a branch name or a commit id,
when manually triggering the docker-image-tag-commit job.
if the job is triggered by a submodule update push,
the default branch name master will be used instead of the commit_id parameter.
This job will also use the shortened commit id as the tag.
Currently, only the linux/amd64 platform is supported.
The models of this project will be synced to HuggingFace under the model xiaoyao9184/watermark-anything.
The Docker image does not include model files. When running, the required models will be automatically downloaded.
If you need to run offline, you must pre-download the model files and enable offline mode. See cache/README.md for detailed instructions.
By default, the Docker container runs the Jupyter Notebook, which comes from the original project.
However, this project also provides a Streamlit App and a Gradio App. The Gradio App supports both a UI and API interface, and can even serve as an MCP server, so it is recommended as the preferred option.
The source code for the Gradio App is located in the gradio directory of this project. A demo of this project is also available and auto-synced on Hugging Face Spaces: xiaoyao9184/watermark-anything
To run the Gradio App, you can do so by modifying the Docker command. see the up.gradio sub-directory in the docker directory for details.
And this project also provides Label Studio ML Backend.
The source code for the Label Studio ML Backend is located in the label directory of this project.
To run the Label Studio ML Backend, you can do so by modifying the Docker command. see the up.label sub-directory in the docker directory for details.
You can fork this project and build your own image. You will need to provide the following variables: DOCKERHUB_USERNAME, DOCKERHUB_TOKEN, HF_USERNAME, HF_TOKEN.
See this for more details.