Commit Graph

13 Commits

Author SHA1 Message Date
paul feae9882bc fix: Resolve Docker temp directory permission issues
- Updated Dockerfile to create local temp directory with proper permissions
- Added volume mount for backend/temp in docker-compose.yml
- Improved temp directory fallback logic with multiple alternatives
- Added unique timestamps to test files to avoid conflicts
- Better logging to identify which temp directory is being used
- Try process.cwd()/temp before falling back to OS temp directory

This should resolve the persistent EACCES permission errors in Docker
containers by ensuring the backend uses a writable temp directory.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 22:02:45 +02:00
paul 93d9c47ad5 fix: Prevent nodemon restarts during policy creation
- Move temp directory outside app folder to /tmp/minio-webui-temp
- Add nodemon.json to ignore temp, logs, and node_modules
- Add TEMP_DIR environment variable configuration
- Add cleanup routine for old temporary policy files (>1 hour)
- Update both dev and production Dockerfiles
- Update docker-compose configurations

This fixes the 500 error during QuickStartWizard policy creation
caused by nodemon restarting when temporary files were created.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 09:35:03 +02:00
paul 9cdd7b0050 fix: Resolve bcrypt architecture and duplicate resource creation issues
Backend fixes:
- Fix bcrypt exec format error for ARM64 architecture
- Add architecture detection for MinIO client download
- Install build tools and rebuild bcrypt from source
- Add postinstall script to automatically rebuild bcrypt
- Rebuild bcrypt after copying files to ensure correct binary

Frontend fixes:
- Handle duplicate resource creation in QuickStartWizard
- Add error handling for "already exists" scenarios
- Prevent multiple executions with isCreating flag
- Allow wizard to complete even if resources already exist

These changes fix:
1. Backend crash on ARM64 due to bcrypt binary mismatch
2. 500 errors when resources already exist in QuickStartWizard
3. Race conditions when clicking Complete button multiple times

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 09:17:22 +02:00
paul a91d56751c fix: Resolve mc config permission error and add MinIO setup documentation
- 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>
2025-07-23 16:16:55 +02:00
paul 10605c6739 fix: Resolve frontend API connection issues in Docker
- 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>
2025-07-23 14:56:20 +02:00
paul 6b0d3706e7 fix: Use built-in node user to avoid GID conflicts
- 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>
2025-07-23 14:42:59 +02:00
paul 677118bdc8 fix: Resolve nodemon not found error in development Docker
- 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>
2025-07-23 14:36:18 +02:00
paul 7bcee648ad fix: Resolve Docker permission issues in development environment
- 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>
2025-07-23 14:32:14 +02:00
paul 9cfd018d0d feat: Add flexible port configuration for development
- 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>
2025-07-23 14:11:11 +02:00
paul 0087d0fddc fix: Resolve backend logger permission errors
- 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>
2025-07-23 14:01:48 +02:00
paul 7ba1b8b054 fix: Resolve TypeScript type error and Docker warning
- 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>
2025-07-23 13:55:01 +02:00
paul 299a320497 fix: Resolve frontend Docker build issues
- Add missing nginx configuration for frontend container
- Add ajv dependency to fix react-scripts build error
- Configure npm to use legacy-peer-deps in Dockerfile
- Create frontend .dockerignore file
- Fix TypeScript peer dependency conflicts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 13:29:29 +02:00
paul bb44b143ec Initial commit: MinIO WebUI - Complete implementation
- 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
2025-07-22 16:29:53 +02:00