Docker Compose is the fastest way to get CulturarteWeb running end-to-end. A singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/17Franco/CulturarteWeb/llms.txt
Use this file to discover all available pages before exploring further.
docker-compose up --build command builds the Tomcat application image, starts a MySQL 8 database, seeds it with sample data, and wires everything together — no local Tomcat or MySQL installation required.
Prerequisites
Docker Desktop or Docker Engine
Docker Desktop (macOS/Windows) or Docker Engine + the Compose plugin (Linux). Docker Compose v2 (
docker compose) or the standalone docker-compose binary both work.SOAP & REST services running
The SOAP
ControllerWS service (default port 9125) and the REST proponentes service (default port 9126) must be reachable from the Docker host before starting the application container.Services overview
Thedocker-compose.yml file declares two services that start together:
| Service | Image | Container name | Host port → Container port |
|---|---|---|---|
culturarte | Built from Dockerfile (Tomcat 10.1-jdk21) | appCulturarteWeb | 8080 → 8080 |
dbculturarteWeb | mysql:8.0.17 | BaseDatosC | 3307 → 3306 |
culturarte service declares depends_on: dbculturarteWeb, so Docker Compose always starts the database container first before bringing up the application.
docker-compose.yml
Volume mounts
Application image volume
Theculturarte service mounts a host directory into /IMG inside the container. This is the path from which the application serves event images:
/IMG) must stay as-is — it corresponds to the RUTA_IMG value read from config.properties.
Database seed volume
ThedbculturarteWeb service mounts copia.sql from the project root into MySQL’s docker-entrypoint-initdb.d/ directory. MySQL automatically executes every .sql file found there on the very first container start, populating the Culturarte database with the bundled sample data.
A named volume db_data persists the database across container restarts.
Dockerfile
The application image is built from thisDockerfile at the project root:
Dockerfile
ROOT.war so the application is accessible directly at http://localhost:8080 with no context-path prefix.
Environment variables passed to MySQL
ThedbculturarteWeb service receives these environment variables at container creation time:
| Variable | Value | Purpose |
|---|---|---|
MYSQL_DATABASE | Culturarte | Name of the database created automatically |
MYSQL_USER | tecnologo | Non-root application user |
MYSQL_PASSWORD | tecnologo | Password for tecnologo user |
MYSQL_ROOT_PASSWORD | tecnologo | Password for the MySQL root account |
Build and run
Update the IMG volume path
Open
docker-compose.yml and replace the left-hand side of the culturarte volume mount with the actual path to your event images directory:Build the image and start all services
From the project root (the directory containing Docker Compose will build the
docker-compose.yml and Dockerfile), run:culturarte image, pull mysql:8.0.17, start the database, seed it with copia.sql, and then start Tomcat. The first build may take a few minutes to download base images and compile the WAR.Verify the application
Once you see Tomcat startup logs in the terminal, open your browser and navigate to:The CulturarteWeb home page should load.