mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
2.7 KiB
2.7 KiB
Checkpoint
Major Tasks Completed
- Docker deployment scaffolded for all 6 apps in the monorepo.
- Split API images into app-specific Dockerfiles:
apps/edr-freight-api/Dockerfileapps/edr-passenger-api/Dockerfile
- Kept shared Vite/nginx image:
infrastructure/docker/Dockerfile.webinfrastructure/nginx/spa.conf
- Updated
docker-compose.yamlto run all 6 services (apps only, no Postgres service in compose). - Added/updated deployment scripts:
scripts/deploy/create-npmrc.shscripts/deploy/sync-env-from-server.sh
- Added self-hosted GitHub Actions deployment workflow:
- Consolidated into one file:
.github/workflows/deploy.yml
- Consolidated into one file:
- Deployment workflow now:
- uses a single checkout (
preparejob), - deploys services via parallel matrix,
- sets compose project names per branch/environment,
- passes explicit
docker compose --project-name.
- uses a single checkout (
- Environment sync script now:
- supports branch slug paths,
- validates each service env file exists,
- requires
PORTin each env file, - exports per-service port vars to
GITHUB_ENV.
docker-compose.yamlnow reads per-service ports via variables exported from env sync.- Passenger startup flow fixed to run:
prisma:generate,prisma:migrate,prisma:seed, before API startup.
- Passenger seed TypeScript issues fixed in
apps/edr-passenger-api/prisma/seed.tsso it compiles under strict checks. - Added deployment runbook:
DEPLOYMENT.md
Key Files to Review
.github/workflows/deploy.ymldocker-compose.yamlscripts/deploy/sync-env-from-server.shscripts/deploy/create-npmrc.shapps/edr-passenger-api/docker-entrypoint.shapps/edr-passenger-api/prisma/seed.tsDEPLOYMENT.md
Next Actions
- Run full CI on all target branches (
main,dev,staging) and verify matrix job behavior. - Validate server env directory layout matches script expectations:
/home/<deploy_user>/environment/edr/<branch-slug>/<project>/...
- Confirm each service env file includes valid
PORTand service-specific runtime vars. - Verify branch-specific compose project names produce isolated containers/networks/volumes on runner.
- Smoke test all 6 deployed services behind real environment URLs.
Open Risks / Notes
- Passenger seed runs on every container start; confirm this is desired for production-like environments.
- Prisma warns about
package.json#prismadeprecation (Prisma 7 migration pending). - Matrix parallelism increases runner load; ensure self-hosted runner capacity is sufficient.
- Port collisions are prevented by env-driven mapping, but bad env values can still cause runtime conflicts.