UI live building#
B2SHARE UI can be built in live (watch) mode. To enable the UI live rebuilding, add webpack-watch container to docker-compose.full.yml:
# Container for watching UI code edits, for automatic build of UI
webpack-watch:
extends:
file: docker-services.yml
service: app
networks:
- b3share
env_file: b2share.new.env
command: ["invenio webpack run start"]
image: b3share:latest
#user: "1000:1000"
# profiles:
# - tools
volumes:
- static_data:/opt/invenio/var/instance/static
- uploaded_data:/opt/invenio/var/instance/data
- archived_data:/opt/invenio/var/instance/archive
- ./devscripts/:/eudat/
- ./invenio.cfg:/opt/invenio/var/instance/invenio.cfg
- ./Pipfile:/opt/invenio/src/Pipfile
- ./Pipfile.lock:/opt/invenio/src/Pipfile.lock.host
- ./customized_invenio_packages:/opt/invenio/src/customized_invenio_packages
- ./site:/opt/invenio/src/site
- ./ui/assets/:/opt/invenio/var/instance/assets
- ./ui/templates:/opt/invenio/var/instance/templates
This container watches for UI changes (JavaScript, less, scss, and other buildable files) and rebuilds the UI every time a change is made. The rebuilt image is populated to web-ui and frontend (nginx) containers through static_data mount.
Changes to Jinja templates are reloaded by web-ui container. For live reload, enable debugging for web-ui container. Read more here.
Last update : 11.09.2026
Last review : 11.09.2026