Files
jorgecuadros-platform/docker-compose.yml
T
rmancinas 27118f0df2 Initial scaffold: unified customer/insurance/utilities platform
Next.js + NestJS + Prisma (MySQL) monorepo replacing the legacy PHP
internal app. Includes a session-based auth module with Argon2 password
hashing and global input validation (replacing the old app's SQL
injection and plaintext password comparison), the full target Prisma
schema for customers/insurance/utilities/shared ledger/bank register,
Docker Compose + Dockerfiles, and an Access-to-staging migration
pipeline (migration/) already run against the real source databases.

See PLAN.md and RESUME.md for the full architecture and session history.
2026-07-22 01:29:56 -07:00

51 lines
1.2 KiB
YAML

services:
mysql:
image: mysql:8.4
restart: unless-stopped
environment:
MYSQL_USER: jorgecuadros
MYSQL_PASSWORD: jorgecuadros
MYSQL_DATABASE: jorgecuadros
MYSQL_ALLOW_EMPTY_PASSWORD: "no"
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "jorgecuadros", "-pjorgecuadros"]
interval: 5s
timeout: 5s
retries: 10
api:
build:
context: .
dockerfile: docker/api.Dockerfile
restart: unless-stopped
depends_on:
mysql:
condition: service_healthy
environment:
DATABASE_URL: mysql://jorgecuadros:jorgecuadros@mysql:3306/jorgecuadros
SESSION_SECRET: ${SESSION_SECRET:?SESSION_SECRET must be set}
WEB_ORIGIN: http://localhost:3000
PORT: 3001
ports:
- "3001:3001"
web:
build:
context: .
dockerfile: docker/web.Dockerfile
restart: unless-stopped
depends_on:
- api
environment:
NEXT_PUBLIC_API_ORIGIN: http://localhost:3001
ports:
- "3000:3000"
volumes:
mysql_data: