Skip to content

Conversation

@th3w1zard1
Copy link

@th3w1zard1 th3w1zard1 commented Jan 5, 2026

This PR adds comprehensive Docker containerization for the webpack-built static application.

Changes

  • Multi-stage Dockerfile with nginx runtime (134MB final image)
  • Runtime configuration system with base path support
  • Nginx config template with SPA fallbacks, health endpoint, and security headers
  • Entrypoint script for dynamic runtime-config.js generation
  • Comprehensive Docker documentation with reverse proxy examples (Traefik, nginx)
  • Docker Compose example for local development
  • CI workflow for multi-arch builds (linux/amd64, linux/arm64)
  • Jest configuration improvements and runtime config tests
  • Updated HTML templates to load runtime-config.js
  • Updated navigation components for base path support

Features

  • Supports both root path and configurable path prefix deployments
  • Compatible with common reverse proxies (Traefik, nginx)
  • Health check endpoint at /healthz
  • Runtime configuration via environment variables (RUNTIME_BASE_PATH, NGINX_LISTEN_PORT)
  • Multi-arch support ready (linux/amd64, linux/arm64)
  • Tested and verified working

- Multi-stage Dockerfile with nginx runtime (134MB final image)
- Runtime configuration system with base path support
- Nginx config template with SPA fallbacks, health endpoint, security headers
- Entrypoint script for dynamic runtime-config.js generation
- Comprehensive Docker documentation with reverse proxy examples
- Docker Compose example for local development
- CI workflow for multi-arch builds (linux/amd64, linux/arm64)
- Jest configuration improvements and runtime config tests
- Updated HTML templates to load runtime-config.js
- Updated navigation components for base path support
- Fixed case-sensitive import in TabPTHEditorState.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant