Environment variables are the primary mechanism for configuring Tradiciones y Sabores without changing source code. The backend reads them at startup to establish its PostgreSQL connection and enforce the CORS policy that governs which origins may call the API. ThreeDocumentation 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.
.env.example files exist in the repository—one at the project root for Vite frontend build arguments, one at backend/ for the FastAPI server, and one named .deploy.env.example for remote SSH deployment credentials.
Backend Environment Variables
These variables are read by the FastAPI application at startup. In Docker Compose they are injected directly in theenvironment: block of the backend service; for bare-metal or systemd deployments, place them in backend/.env.
Hostname or IP address of the PostgreSQL server. Use
postgres when running inside Docker Compose (resolves to the tradiciones_sabores_db container). Use localhost for a local bare-metal setup.Default (Docker): postgres
Default (local): localhostPort on which PostgreSQL is listening.Default:
5432Name of the PostgreSQL database. The backend creates this database schema automatically on first boot if the tables do not yet exist.Default:
tradiciones_saboresPostgreSQL role used to authenticate. In Docker Compose this matches the
POSTGRES_USER value set on the postgres service.Default (Docker): postgres
Default (local): tradiciones_userPassword for the
DB_USER PostgreSQL role. Always override the default value in any non-development environment.Default (Docker Compose example): postgresPort on which Uvicorn binds the FastAPI application. The backend
Dockerfile hard-codes --port 5000, so changing this variable alone is not sufficient—update the CMD in backend/Dockerfile as well.Default: 5000Comma-separated list of allowed origins for CORS requests. Accepts
* to permit all origins (suitable for local development only). In production, list only the specific domains that should be allowed to call the API.Default (Docker Compose): *
Production example: http://158.220.100.226,http://localhost:5173,http://localhost:3000backend/.env.example
Frontend Build Variables
These are Vite build-time arguments baked into the React bundle at compile time. They are not runtime secrets—their values become part of the static JavaScript bundle. Set them before runningnpm run build or pass them as Docker --build-arg flags.
Base URL of the backend API. When deploying with Docker Compose and Nginx’s reverse proxy, the frontend calls relative
/api/v1/ paths, so this variable is typically left empty. Set it only when the frontend is built to contact an external backend directly.Default: http://localhost:3000An optional API key string that the frontend attaches as an
x-api-key header on protected requests (platos, inventario, proveedores, reportes). The FastAPI backend does not currently validate this header — there is no authentication middleware in the backend — so the value has no effect on server-side access control. Include it for forward compatibility with future backend authentication, or leave it empty.Default: (empty)WhatsApp number for the restaurant, without symbols and including country code. Used by the customer menu view to generate click-to-chat links.Example (Venezuela +58):
584140000000.env.example (project root)
SSH Deployment Variables
The.deploy.env.example file contains credentials used by deployment scripts to push updates to a remote VPS over SSH. These variables are never read by the application itself.
Public IP address of the target VPS.Example:
158.220.100.226SSH username on the remote server.Default:
rootSSH password for the remote user. Prefer key-based authentication and leave this empty in production.
Absolute path on the remote server where the project is deployed.Default:
/var/www/tradicionesysabores.deploy.env.example
CORS in Production
When deploying to a public server, change
CORS_ORIGINS from * to a comma-separated list of your actual frontend domains—for example https://yourdomain.com,https://www.yourdomain.com. Allowing all origins in production exposes your API to cross-origin requests from any website.