SearchJobs ships with a Docker Compose configuration that manages the MySQL database and the Spring Boot backend as containerised services. The React frontend (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Esteban-Mendez-j/Proyecto-Docker/llms.txt
Use this file to discover all available pages before exploring further.
client/) runs outside Docker during development and is built as a static bundle for production. This guide walks you through every step needed to get the full stack running locally or on a server.
Prerequisites
Before you begin, make sure the following tools are installed:| Tool | Minimum version |
|---|---|
| Docker Engine | 20.10+ |
| Docker Compose | v2 (docker compose CLI plugin) |
| Git | any recent version |
| Node.js | 18+ (for running the React frontend) |
Docker Desktop for Mac and Windows ships with Compose v2 by default. On Linux, install the
docker-compose-plugin package or follow the official Compose installation guide.Services defined in docker-compose.yml
Thedocker-compose.yml at the repository root defines two active services. A third service (astro) is commented out — it was an earlier Astro frontend and is not used.
| Service | Image / Build | Port | Notes |
|---|---|---|---|
mysql | mysql:8.0 | 3306 | Persistent volume mysql_data, network app-network |
backend | Built from ./Proyecto_backup/Dockerfile | 8080 | Container name springboot-app, reads .env, mounts ./Proyecto_backup/uploads:/app/uploads |
The React frontend (
client/) is not a Docker service. It must be started separately — see the Frontend section below.Dockerfile (multi-stage build)
The backend image uses a two-stage Dockerfile located atProyecto_backup/Dockerfile:
Step-by-step deployment
Create the .env file
The backend service reads its configuration from a See Environment variables for the full reference and a ready-to-use sample file.
.env file in the repository root. Copy the sample below and fill in your values before continuing.Build and start the services
Run the following command from the repository root:Docker Compose builds the Spring Boot image (this takes a few minutes on the first run because Maven downloads dependencies), pulls
mysql:8.0, and starts both containers in detached mode.Useful commands
Frontend
The React client lives in theclient/ directory and is powered by Vite with the @vitejs/plugin-react-swc plugin.
Development mode — starts a hot-reload dev server on http://localhost:5173:
client/dist/:
client/dist/ directory with nginx, Vercel, or any static file host. See Production deployment for guidance on serving the built frontend alongside the Dockerised backend.
The Vite config sets
base: '/' and enables source maps in production builds. No additional Vite configuration is required for a standard deployment.