11 Commits

Author SHA1 Message Date
Fusion be81aa1c8b fix: pass Vite env vars as Docker build args
Vite reads env vars at build time, not runtime. The previous setup
only set them in docker-compose 'environment' which is only available
at container runtime. Now they are passed as build args so Vite can
embed the correct API URL during the build process.

- Add build args to web service in both compose files
- Update Dockerfile to accept ARGs and set ENV for Vite
- Fixes login redirect always going to localhost:8000
2026-05-18 11:09:37 +02:00
Fusion d38f953dfc fix: use 127.0.0.1 in web healthcheck to avoid IPv6 issues
wget resolves 'localhost' to IPv6 [::1] but nginx only listens on
IPv4 0.0.0.0:80, causing connection refused. Using 127.0.0.1 ensures
IPv4 connection and healthy container status.
2026-05-18 10:49:20 +02:00
Fusion fff3ea0c2f fix: resolve nginx pid permission error in web container
- Create /run directory explicitly for nginx.pid
- Set proper ownership and permissions for non-root user
- Fixes 'open() /run/nginx.pid failed (13: Permission denied)' error
2026-05-18 10:36:06 +02:00
Fusion 236130b0a7 fix: use npm install in web Dockerfile to resolve esbuild platform deps
The package-lock.json was missing some esbuild optional dependencies
for other platforms. Using npm install instead of npm ci allows the
docker build to proceed without requiring all platform-specific packages
in the lock file.
2026-05-18 04:30:37 +02:00
alex e7819bfc82 feat: implement docker infrastructure (US-001)
- Add docker-compose.yml with postgres, redis, api, and web services
- Add multi-stage Dockerfile for API (Python 3.11)
- Add multi-stage Dockerfile for web (Node.js 20 + nginx)
- Add Makefile with common development commands
- Add .env.example with all required environment variables
- Add placeholder pyproject.toml and package.json for builds
- Configure health checks for all services
- Setup persistent volumes for postgres, redis, and repos
- Run services as non-root users
2026-05-16 17:44:39 +00:00
alex 44e2ae60ef fix: add VITE_OIDC_REDIRECT_URI and build args for frontend
- Add VITE_OIDC_REDIRECT_URI to .env.example and docker-compose files
- Pass OIDC variables as build args in Dockerfile (build-time only)
- Update both docker-compose.prod.yml and docker-compose.traefik.yml
- Fixes undefined OIDC variables causing 404 on login redirect
2026-05-16 13:14:09 +00:00
Fusion f33a563003 feat(FN-003): add tool manifest registry with FastAPI CRUD and built-in manifests
- Add ToolManifest Pydantic models with validators for ports, mounts, health checks, and traefik config

- Implement in-memory ToolRegistry with YAML loading and built-in manifest scanning

- Add FastAPI CRUD routes for listing, retrieving, and creating tool manifests

- Include built-in manifests for runfusion and code-server

- Harden web Dockerfile with unprivileged nginx and port 8080

- Add tool manifest specification documentation and architecture updates

Fusion-Task-Id: FN-003
2026-05-14 09:15:22 +02:00
Fusion a30611fbaf feat(FN-002): complete Step 4 — Docker Compose and Deployment Skeleton
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion 212b9e7c21 feat(FN-002): complete Step 2 — React Frontend App Skeleton
Fusion-Task-Id: FN-002
Fusion-Task-Lineage: 49cb7077-d805-4d39-9a27-ae50744f2839
2026-05-14 07:47:29 +02:00
Fusion a091895998 fix(FN-002): address Dockerfile build order, base images, .dockerignore, docs 2026-05-14 02:08:53 +02:00
Fusion 7b45344237 feat(FN-002): complete Step 5 — Docker Compose and Portainer/Traefik Skeleton 2026-05-14 01:58:18 +02:00