# Environment Variable Truncation Fix ## Issue Environment variables with special characters (like `$` in bcrypt hashes) were being truncated when passed to Docker containers, causing authentication failures. ## Solution 1. **Created proper .env file** with quoted values: ```bash ADMIN_PASSWORD_HASH='$2b$12$LQv7c3SijBJLhSHPDOLkDe7YfPzFaXhJNXLKqFsFC37GA9xc1wSNi' JWT_SECRET='your-very-long-secret-key-that-should-be-at-least-32-characters-long' ``` 2. **Added Docker network to ALLOWED_IPS**: - Added `172.20.0.0/16` to support Docker's default bridge network - This allows testing from the Docker host 3. **Default credentials**: - Password: `admin123` - The hash in .env corresponds to this password ## Verification Run the verification script: ```bash ./scripts/verify-env-fix.sh ``` This script will: - Rebuild containers - Check environment variables are properly loaded - Test authentication API - Show if login is working ## Testing Login 1. Access the WebUI at http://localhost:7511 2. Use password: `admin123` 3. You should be able to log in successfully ## Known Issue: bcrypt Architecture Due to architecture differences (ARM vs x86), bcrypt may need to be rebuilt after container restart: ```bash # Fix bcrypt after container restart docker exec minio-webui-backend-dev sh -c 'rm -rf /app/node_modules/bcrypt && cd /app && npm install bcrypt' && docker restart minio-webui-backend-dev ``` ## Troubleshooting If issues persist: 1. Check that .env file exists and has double dollar signs ($$) for escaping 2. Ensure Docker containers were rebuilt: `docker compose -f docker-compose.dev.yml up -d --build` 3. Check logs: `docker logs minio-webui-backend-dev` 4. Run debug script: `./scripts/debug-auth.sh` 5. If bcrypt error occurs, run the fix command above