Tradiciones y Sabores ships as a three-container Docker Compose stack that mirrors its production three-layer architecture. A singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/teofilobetancourt/Tradiciones-y-Sabores/llms.txt
Use this file to discover all available pages before exploring further.
docker compose up --build -d command builds both application images and starts the PostgreSQL database, the FastAPI backend, and the Nginx-served React frontend, wiring them together on an internal network so each service can reach the others by container name.
Prerequisites
Before you begin, make sure the following are installed on your host machine:- Docker 24+ — Install Docker
- Docker Compose v2 — bundled with Docker Desktop; on Linux install the
docker-compose-plugin - 1 GB RAM minimum — the three containers comfortably run within 512 MB each, but 1 GB total headroom is recommended
- Ports 80, 443, 5000, and 5432 free on the host
Deployment Workflow
Create your .env file
Copy the provided example file to create your local environment configuration:
Configure environment variables
Open
.env in your editor and fill in the required values. See Environment Variables for a full reference of every variable and its purpose.Build and start all services
Build both Docker images and start all three containers in detached mode:The first run downloads the
postgres:16-alpine and python:3.12-slim base images, installs Python dependencies, and compiles the React frontend with Vite. Subsequent starts skip the build unless you pass --build again.Verify the deployment
Once the containers are running, confirm the stack is healthy:All three services should report
running. Then open the access URLs below to confirm each layer is responding.| URL | Description |
|---|---|
http://localhost | Staff application (POS, Kitchen, Orders, Inventory, Suppliers, Reports) |
http://localhost/?view=menu | Customer-facing digital menu with self-service ordering |
http://localhost:5000/api/docs | Interactive Swagger UI for the FastAPI backend |
http://localhost:5000/api/debug | Real-time PostgreSQL connection health check |
docker-compose.yml
The full Compose file that defines all three services:Service Containers
| Container Name | Role | Exposed Ports |
|---|---|---|
tradiciones_sabores_db | PostgreSQL 16 Alpine database | 5432 |
tradiciones_sabores_api | Python 3.12 / FastAPI backend served by Uvicorn | 5000 |
tradiciones_sabores_frontend | React SPA served by Nginx | 80, 443 |
backend service declares depends_on: postgres, and frontend declares depends_on: backend, so Compose always starts the containers in the correct order.
Common Docker Commands
The named volume
postgres_data stores PostgreSQL data at /var/lib/postgresql/data inside the container. Running docker compose down removes containers but preserves this volume, so your data survives restarts. To delete all data and start fresh, run docker compose down -v.