This repository automatically syncs Element Web releases and renames icon paths to avoid conflicts with Apache's mod_alias icon directory.
Apache's mod_alias module typically maps /icons/ to the server's icon directory (e.g., /usr/share/apache2/icons/). This conflicts with Element Web's /icons/ directory, causing the application to fail loading its UI icons.
This repository:
- Automatically fetches the latest Element Web releases
- Renames the
icons/directory toui-icons/ - Updates all references in CSS and HTML files accordingly
- Provides the processed files ready for Apache deployment
The GitHub Actions workflow runs:
- Every Monday and Thursday at 03:00 UTC
- Manually via workflow dispatch
When a new Element Web release is detected:
- Downloads the release tarball
- Runs the rename script to process icon paths
- Commits the processed files to the
processed/directory - Creates a GitHub issue with the release notes
- Tracks the version in
current-release.txtto avoid duplicate processing
The processed Element Web files are available in the processed/ directory. Deploy them to your Apache web server as you would normally deploy Element Web.
- backup your config.json file
- Clone this repository to your hosting / server
- create a symlink to the /processed folder to serve the application
- whenever there's a new release, run git pull on your hosting / server
- copy your config.json file back into the processed folder
The scripts/rename.sh script:
- Copies the source files to the destination directory
- Finds all CSS files and updates icon path references:
/icons/→/ui-icons/../../icons/→../../ui-icons/
- Updates
index.htmlicon references - Renames the physical
icons/directory toui-icons/
This repository contains automation scripts and workflows and is licensed under AGPL-3.0. The processed/ folder contains files from element-web and remains licensed under AGPL according to the upstream license.