Deep UI Customization After Docker Asset Conflicts – Architectural Clarification Needed

Hello everyone,

After more than 6 months working on my ERPNext project, I would like some architectural clarification before continuing further UI customization.

Initially, I deployed ERPNext using Docker Desktop on Windows. During that phase, I encountered severe asset-related instability:

  • Persistent 404 errors on hashed CSS/JS bundles

  • Backend generating new bundle hashes while Nginx served outdated ones

  • Volume persistence conflicts in Docker

  • Permission corruption when interacting with assets from Windows

  • Git repository inconsistencies blocking bench build

  • Redis/DB hostname mismatches after restoring backups

  • Container restart loops due to service resolution failures

  • Disk saturation from repeated rebuilds

In multiple cases, the only solution was removing Docker volumes entirely and rebuilding from scratch.

Due to the instability, I migrated away from Docker and deployed directly on Ubuntu in a VPS. The system is currently stable with backups in place.

However, I am now hesitant to perform deeper UI modifications.

My main goal is not just styling tweaks β€” I would like to:

  • Adjust layout structure

  • Remove certain UI elements

  • Inject custom JS behavior

  • Slightly restructure parts of the Desk

Before proceeding further, I would appreciate clarification on:

  1. Is structural UI modification considered supported practice?

  2. Are there architectural limitations in the Desk (Vue/frontend bundle) that make deep customization risky?

  3. What is the recommended workflow for projects that require non-trivial frontend adjustments?

  4. Should such changes always be isolated in a separate development instance?

After the Docker asset conflicts, I want to ensure I am working within the intended architectural boundaries of Frappe, rather than fighting against the framework.

Any guidance would be greatly appreciated.

Thank you.

1 Like

It’s a deployment issue.

Did you already check the permission about your assets directories? I have encounter the same issue it was just all about the permission.

here is the script to give full permission to asset files

cd /path/to/frappe-bench/sites
sudo chmod -R 777 assets