- Replace read-only host mount with dedicated Docker volume for mc config
- Add init-mc-config.sh to initialize mc configuration with proper permissions
- Create setup-mc-alias.sh script to configure MinIO connection
- Add comprehensive MINIO_SETUP.md documentation
- Update docker-compose.dev.yml to use mc-config volume
- Update Dockerfile to run mc config initialization
- Document bcrypt architecture workaround in FIX_ENV_TRUNCATION.md
The mc client can now write to its configuration directory, resolving
the "permission denied" error when connecting to MinIO servers.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add setupProxy.js to proxy API calls to backend container
- Install http-proxy-middleware for development proxy support
- Update docker-compose.dev.yml to use backend service name
- Add HOST=0.0.0.0 to allow external connections to dev server
- Add empty favicon.ico to prevent 500 errors
- Update proxy configuration to use port 7510
This fixes the ERR_CONNECTION_REFUSED errors when the frontend
tries to connect to the backend API in Docker environment.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove custom nodejs user creation that was causing GID 1000 conflicts
- Use the built-in 'node' user from node:alpine image
- Update volume mount path from /home/nodejs to /home/node
- Simplify Dockerfile by removing unnecessary user creation
This fixes the "addgroup: gid '1000' in use" error during Docker build.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Explicitly set NODE_ENV=development during npm install to include devDependencies
- Add NODE_ENV=development environment variable in Dockerfile
- Add fallback dev:node script using Node.js --watch flag
- Ensure nodemon is installed with other development dependencies
This fixes the "sh: nodemon: not found" error in the development container.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Create dedicated Dockerfile.backend.dev for development with proper permissions
- Set user UID/GID to 1000 (common for development systems)
- Create logs and temp directories in Dockerfile before switching user
- Use named volumes for logs, temp, and node_modules to maintain permissions
- Mount only source files instead of entire backend directory
- Remove complex entrypoint script in favor of simple CMD
- Add LOG_DIR and TEMP_DIR environment variables
This fixes the "Permission denied" errors when creating directories in Docker.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change default ports to 7510 (backend) and 7511 (frontend) to avoid conflicts
- Add PORT environment variable support for both services
- Create docker-compose.dev.yml for development without SSL/nginx
- Add development script (scripts/dev.sh) for easy local development
- Create comprehensive port configuration documentation
- Update docker-compose.yml to support dynamic port configuration
- Add frontend .env.example with development settings
This allows running the application on custom ports internally without SSL,
making it easier to integrate with existing infrastructure.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix logger path to use relative path from backend directory
- Add LOG_DIR environment variable support for custom log paths
- Create logs directory with .gitkeep to ensure it exists
- Add docker-entrypoint.sh to handle runtime permissions
- Optimize Dockerfile to set proper permissions for nodejs user
- Ensure logs directory is writable by the application
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Make createUser field required in FormData interface to match yup schema
- Add explicit optional handling for username/password in yup schema
- Fix Docker FROM casing warning (as -> AS)
- Ensure TypeScript compilation passes without errors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Backend: Express.js API with MinIO CLI integration
- Frontend: React with Material-UI for non-technical users
- Features: Bucket management, user creation, storage monitoring
- Security: JWT auth, IP filtering, encrypted passwords
- Docker support for easy deployment
- Automated weekly storage reports
- Setup and deployment scripts included