Esup File Manager allows users to perform file management on their home directories.
- CAS authentication
- Modern interface built with Vanilla JavaScript (ES6 modules)
- Responsive interface optimized for both mobile and desktop devices
- Native touch support and mobile gestures
- Copy/cut/paste, rename, create folder, upload/download files
- Copy/cut/paste inter-servers
- Multiple file systems support via Apache Commons VFS: http://commons.apache.org/vfs/filesystems.html - URIs like file:///home/bob, FTP and SFTP supported
- SMB support (with smbj), support kerberos authentication
- S3 storage support (with s3 from awssdk)
- Webdav support (with Sardine)
- Built on Spring Boot 3.5.x and Bootstrap 5
- Server access configuration via configuration file
Since April 2026, esup-filemanager is now a standalone servlet application powered by Spring Boot 3.5.x and no longer a portlet application.
- The application is no longer a portlet and cannot be deployed in a portlet container.
- The frontend stack has been fully replaced (no jQuery, no jQuery Mobile).
- Java 21 is required (up from the previous Java version requirement).
- The application is now a standalone Spring Boot application and can be run directly with
mvn spring-boot:runor packaged as a WAR file for deployment. - CMIS support has been removed in this version.
- SMB support has been migrated from jcifs(-g) to smbj, including support for Kerberos authentication.
- S3 support has been implemented using s3 library from awssdk.
- Rules for file system access have been simplified and use Spring El Expressions and no more uPortal groups/attributes/preferences evaluators.
- Configuration is now handled via
application.properties(Spring Boot) anddrives.xml; configuration from older versions is not compatible and must be adapted.
- Spring Boot 3.5.x
- Spring Security with CAS support
- Apache Commons VFS for file system access
- Thymeleaf for templating
- Vanilla JavaScript (ES6 modules) - jQuery and jQuery Mobile have been completely removed
- Bootstrap 5 for CSS framework and UI components
- Bootstrap Icons for iconography
- Responsive interface adapted for mobile and desktop
- Native touch gestures and mobile interactions support
You have to configure your application with CAS parameters in application.properties file.
drives.xml let you configure the drives you want to access.
This project requires Java 21 and Maven to build.
To have the war file, you have to run the maven command :
mvn clean package
If you want to launch directly the application, you can run the command :
mvn spring-boot:run
Next go to http://localhost:8080
Default configuration is set to use CAS server and filesystems servers running in Docker containers. You can start them with the command :
docker compose -f src/etc/docker-compose.yml up
This will start a CAS server with test users and filesystems servers (s3, webdav, samba, sftp).
Users are :
- joe / pass
- jack / pass
With this and the command 'mvn spring-boot:run', you can access esup-filemanager on http://localhost:8080/
If you want that esup-filemanager run with docker containers also, just run docker compose with the profile 'with-esup-filemanager' :
docker compose -f src/etc/docker-compose.yml --profile with-esup-filemanager up
This will start esup-filemanager and all the servers it needs to run (CAS, openldap, s3, webdav, samba, sftp).
No need to run 'mvn spring-boot:run' in this case and no need to hava java, just docker and docker compose are required.
Go to http://localhost:8080/ and login with joe/pass or jack/pass to access esup-filemanager.


