Skip to content
This repository was archived by the owner on Oct 10, 2025. It is now read-only.

Commit 7963c74

Browse files
authored
Update README with Docker Hub information
Added a section about the Docker Hub repository and updated references to Docker in the production setup.
1 parent 0414b5d commit 7963c74

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This project is a powerful and secure steganography tool built with Spring Boot
1010

1111
- [What is Steganography?](#what-is-steganography)
1212
- [Features](#features)
13+
- [Docker Hub](#docker-hub)
1314
- [How It Works](#how-it-works)
1415
- [Encoding Process](#encoding-process)
1516
- [Decoding Process](#decoding-process)
@@ -22,7 +23,7 @@ This project is a powerful and secure steganography tool built with Spring Boot
2223
- [Configuration](#configuration)
2324
- [Running the Application](#running-the-application)
2425
- [1. For Local Development (JVM)](#1-for-local-development-jvm)
25-
- [2. For Production (Docker Image)](#2-for-production-docker-image)
26+
- [2. For Production (Docker)](#2-for-production-docker)
2627
- [Interacting with the API](#interacting-with-the-api)
2728
- [Example 1: Estimate Capacity](#example-1-estimate-capacity)
2829
- [Example 2: Encode a Text Message](#example-2-encode-a-text-message)
@@ -49,6 +50,12 @@ Steganography is the practice of concealing a message or file within another fil
4950
- **Robust Error Handling**: A global exception handler provides detailed, structured error responses (`ProblemDetail`) for API clients.
5051
- **Traceability**: A `CorrelationIdFilter` adds a unique trace ID to every request for improved logging and debugging.
5152

53+
## Docker Hub
54+
55+
The official Docker image for this project is available on Docker Hub. You can pull it directly to run the application without building it from the source.
56+
57+
- **Repository**: [noobdevsam/spring-project-steganography-tool](https://hub.docker.com/r/noobdevsam/spring-project-steganography-tool)
58+
5259
## How It Works
5360

5461
### Encoding Process
@@ -150,28 +157,32 @@ This method is ideal for development and debugging, as it uses Spring Boot's hot
150157
```
151158
The application will start on `http://localhost:8080`.
152159

153-
### 2. For Production (Docker Image)
160+
### 2. For Production (Docker)
154161

155-
This is the recommended approach for production. It packages the application into a standard JVM-based Docker container.
162+
This is the recommended approach for production. The `compose.yml` file is configured to use the pre-built image from Docker Hub.
156163

157-
1. **Build the Docker Image**:
158-
Run the following Maven command. This uses Cloud Native Buildpacks to create a Docker image named `noobdevsam/spring-project-steganography-tool:0.0.1-SNAPSHOT`.
164+
1. **Pull the Image (Optional)**:
165+
You can pull the latest image from Docker Hub before starting the services.
159166
```bash
160-
# This command requires Docker to be running.
161-
./mvnw spring-boot:build-image -DskipTests
167+
docker pull noobdevsam/spring-project-steganography-tool:v1
162168
```
163169

164170
2. **Run with Docker Compose**:
165-
Once the image is built, start the application and the database using Docker Compose.
171+
This command will start both the application container and the database. Docker Compose will automatically pull the image if it's not available locally.
166172
```bash
167-
# This will use the image built in the previous step.
168-
docker compose up
169-
or
170-
docker compose up -d db-mysql && docker compose up app
173+
docker compose up -d
171174
```
172175
The application will be available on `http://localhost:8080`.
173176
174-
To stop all services, press `Ctrl+C` or run `docker compose down`.
177+
3. **Building Locally (Alternative)**:
178+
If you prefer to build the image from the source code instead of using the one from Docker Hub, run the following Maven command first:
179+
```bash
180+
# This requires Docker to be running.
181+
./mvnw spring-boot:build-image -DskipTests
182+
```
183+
The `compose.yml` file will use this locally built image (`noobdevsam/spring-project-steganography-tool:v1`) when you run `docker compose up`.
184+
185+
To stop all services, run `docker compose down`.
175186
176187
## Interacting with the API
177188

0 commit comments

Comments
 (0)