mirror of
https://github.com/luxfi/bridge.git
synced 2026-09-24 00:26:46 +00:00
Sweep through configs, docs, and ignore files after the structural
collapse in the previous commit. Updates fall into three buckets:
1) Restore the Dockerfile for app/bridge/
- app/bridge/Dockerfile: new file, Vite SPA → ghcr.io/hanzoai/spa,
same shape as the pre-collapse legacy Dockerfile, build context
is repo root so @luxfi/bridge (workspace:*) resolves.
- cmd/bridge/Dockerfile: switch UI-build stage to the workspace
build context so the new app/bridge (which depends on the
sibling pkg/bridge package) actually installs.
- Makefile build-ui target: drop the per-app build context for
the same reason — context must be repo root.
2) Update workspace docs to the new layout
- README.md: rename @luxbridge/app row → @luxbridge/lux-tenant,
port 3000 → 3001 (the slim tenant's vite config uses 3001).
- docs/LLM.md: drop the bridge3 row, rename app/bridge row to
@luxbridge/lux-tenant, update dev port.
- docs/{BRIDGE-STATUS,LOCAL-SETUP,CI-CD-DOCKER-IMAGES}.md:
`docker build … ./app/bridge` → `… -f app/bridge/Dockerfile .`
so docs reflect the workspace-rooted build context.
- .github/workflows/publish.yml: drop @luxbridge/app and
@luxbridge/app-v3 from the private-packages comment.
3) Delete AI-slop status reports + test harness
- CI_STATUS_REPORT.md, DEPLOYMENT_STATUS.md, WORKFLOW_AUDIT.md,
WORKFLOWS_SUMMARY.md — stale and referenced bridge3.
- test-bridge-ui.js — top-level Puppeteer/Playwright probe of the
deleted legacy UI; not a workspace test.
- .dockerignore: drop the test-bridge-ui.js entry now that the
file no longer exists.
Out of scope (untouched): pkg/bridge/src/{Bridge,config,types,mount}
and pkg/bridge/src/app/ — Phase 3 R2 is working there. The
`@luxbridge/app` mentions in those files are historical comments
explaining the prior workspace cycle, not live references.
2.6 KiB
2.6 KiB
CI/CD Docker Images Documentation
Overview
The Lux Bridge project uses GitHub Actions to automatically build and push Docker images to GitHub Container Registry (ghcr.io) whenever changes are pushed to the main branch.
Docker Images Built
The CI/CD pipeline builds three main Docker images:
- MPC Service:
ghcr.io/luxfi/lux-mpc:latest - Bridge Server:
ghcr.io/luxfi/bridge-server:latest - Bridge UI:
ghcr.io/luxfi/bridge-ui:latest
Workflow Configuration
The workflow is defined in .github/workflows/build-and-push.yml and:
- Triggers on push to
mainbranch - Triggers on changes to relevant directories
- Can be manually triggered via workflow_dispatch
- Builds multi-platform images (linux/amd64, linux/arm64)
- Uses GitHub's built-in GITHUB_TOKEN for authentication
Image Tags
Each image is tagged with:
latest- for the main branchmain-<sha>- specific commit on mainpr-<number>- for pull requests- Branch name - for feature branches
Using the Images
Development (compose.yml)
services:
mpc-node-0:
image: ghcr.io/luxfi/lux-mpc:latest
bridge-server:
image: ghcr.io/luxfi/bridge-server:latest
bridge-ui:
image: ghcr.io/luxfi/bridge-ui:latest
Local Development (compose.local.yml)
For local development without Docker images, use:
make up # Starts infrastructure only
# Then run services locally
Manual Build and Push
To manually build and push images:
# Build all images
make build
# Push to registry (requires login)
make push
GitHub Container Registry Access
Images are public and can be pulled without authentication:
docker pull ghcr.io/luxfi/lux-mpc:latest
docker pull ghcr.io/luxfi/bridge-server:latest
docker pull ghcr.io/luxfi/bridge-ui:latest
Troubleshooting
Image Not Found
If you get "manifest unknown" errors:
- Check if the workflow has run successfully
- Verify image names match exactly
- Use
compose.local.ymlfor local development
Build Failures
Common issues:
- Missing dependencies in Dockerfile
- Incorrect build context paths
- Network issues during build
Local Testing
Test the build locally:
# MPC Service
docker build -f app/mpc-service/Dockerfile .
# Bridge Server
docker build -f app/server/Dockerfile app/server/
# Bridge UI (build context is repo root — pnpm workspace)
docker build -f app/bridge/Dockerfile .
Security
- Images are scanned for vulnerabilities by GitHub
- Use specific tags in production, not
latest - Regularly update base images
- Follow least-privilege principles in Dockerfiles